This is the git repository to build the MicroEJ BuildKit Docker Image for various MicroEJ SDK versions.
All images referenced in this document are available in our Docker Hub repository. You can also build them yourself following build instruction bellow and our Github repository.
Since SDK version 5.6.2
the SDK has been available in 2 versions: JDK 8 and JDK 11. The JDK11 image is suffixed with -jdk11
. The image tagged lastest is version 5.9.0-jdk11
.
For MicroEJ SDK version 5.4.1
and above, please refer to
https://docs.microej.com/en/latest/ApplicationDeveloperGuide/mmm.html#command-line-interface.
The use of the SDK Docker images requires to approve the End-User License Agreement.
You can accept the EULA by setting the ACCEPT_MICROEJ_SDK_EULA_XXX environment variable to YES,
whereis XXX is the version of the EULA version, for example ACCEPT_MICROEJ_SDK_EULA_V3_1B=YES
.
Start the image for interactive usage:
$ docker run --rm -it -e ACCEPT_MICROEJ_SDK_EULA_V3_1B=YES microej/sdk:5.8.1 bash
Build a project from a local folder:
$ docker run --rm -v PATH/TO/PROJECT:/project -w /project -e ACCEPT_MICROEJ_SDK_EULA_V3_1B=YES microej/sdk:5.8.1 mmm build
You can also build the image yourself from the Dockerfile
.
This requires to:
- retrieve the Portable version of the SDK
- upload it to an accessible remote location in a folder named after the SDK version. For example if your base URL is
https://my.server/microej-sdk
and the SDK version is 23.07, the SDK Distribution should be uploaded athttps://my.server/microej-sdk/23.07/microej-sdk-23.07-linux_x86_64.zip
. - launch the build of the image with the
SDK_DISTRIBUTION_BASE_URL
argument:
$ docker build --build-arg="SDK_DISTRIBUTION_BASE_URL=https://my.server/microej-sdk" -t microej/sdk:5.8.1 5.8.1
For MicroEJ SDK version 4.1.5
to 5.3.1
, please refer to
https://github.com/MicroEJ/Tool-CommandLineBuild.
Start the image for interactive usage:
$ docker run --rm -it microej/sdk:4.1.5 bash
Build a project from a local folder:
$ docker run --rm -v PATH/TO/PROJECT:/project -w /project microej/sdk:4.1.5 build_module_local.sh ./
You can also build the image yourself from Dockerfile
:
$ docker build -t microej/sdk:4.1.5 4.1.5
A Jenkinsfile is at the root of this project to automatically test project Dockerfiles. You can launch it using Jenkins CI.
We followed the Jenkins recommendations to write this Jenkinsfile : Using Docker with Pipeline.
If you want to run it, you need to have at least one node labelled docker
.
You can either :
Add your custom CA certificate to the docker image by adding these lines
to the Dockerfile
you want to build :
USER root
COPY company.cer $JAVA_HOME/jre/lib/security
RUN \
cd $JAVA_HOME/jre/lib/security \
&& keytool -keystore cacerts -storepass changeit -noprompt -trustcacerts -importcert -alias companycert -file company.cer
Mount your keystore using -v in the docker container and use it with mmm
by adding -Djavax.net.ssl.trustStore=keystore_path_in_container
to
your build
The recommended way to do that is to mount your ivysettings into your
docker container and use MMM-CLI with parameter -r
to specify the
module repository settings file location.
Please refer to MicroEJ Module Manager documentation for more information.
Markdown
Copyright 2021-2024 MicroEJ Corp. All rights reserved.
Use of this source code is governed by a BSD-style license that can be found with this software.