Build#
Locally#
To build the application and Docker image locally, execute the following command, from the project directory:
./mvnw -DskipTests -Dfrontend-build -Ddocker-build -Ddocker.image.tag=latest clean package dockerfile:build
A Docker image tagged ghcr.io/fcrespel/karaplan:latest will then be created.
You may set the docker.image.prefix system property to specify a different Docker registry/repository.
Using GitLab#
A .gitlab-ci.yml file is available at the root of the repository to automate the build/test/publish pipeline on GitLab.
The pipeline will produce a WAR file and a Docker image, and push it to a Docker registry.
Required environment variables:
DOCKER_USERNAME: Docker registry usernameDOCKER_PASSWORD: Docker registry password
Optional environment variables:
MVN_ENV_OPTS: Maven environment options (known asMAVEN_OPTS)MVN_BUILD_OPTS: Maven build options (arguments, profiles, system properties)MVN_GOALS: Maven build goalsDOCKER_REPO: Docker image registry/repositoryDOCKER_IMAGE: Docker image name
Using Jenkins#
A Jenkinsfile file is available at the root of the repository to automate the build/test/publish pipeline on Jenkins.
The pipeline will produce a WAR file and a Docker image, and push it to a Docker registry.
Optional parameters:
mvn_env_opts: Maven environment options (known asMAVEN_OPTS)mvn_build_opts: Maven build options (arguments, profiles, system properties)mvn_goals: Maven build goals
Using Google Cloud Build#
See the Google Cloud Platform deployment documentation.