Pipeline definition for Java Custom solutions

The pipeline is structured by default in the following procedure:

  • Build
  • Pack
  • Deploy-dev
  • Test-dev
  • Publish

Stage build

The stage builds the solution artifacts needed for the deployment.

Maven-buildThe job mainly follows the build lifecycle basics of maven. The Custom Solution project will be validated, compiled, tested by executing the provided unit tests and afterwards packaged in it‘s distributable format.

Pack

Pack-deployer-cli-docker Creates the docker image containing the needed model files for the pre deploy jobs of a solution. The created docker image will be pushed into the configured docker registry in the configuration management (configuration name ssob-sdo-docker-push). In OpenShift the docker images should be pushed into the ssob-sdo namespace.

Pack-helm-chartCreates the helm chart for deploying the solution. This helm chart is used in the deploy-dev (deploy-test, ...) stage.

Pack-solution-dockerCreates the docker image containing the needed model files for the solution as well as the in the maven-build job created runnable jar file of the project. The created docker image will be pushed into the configured docker registry in the configuration management (configuration name ssob-sdo-docker-push). In OpenShift the docker images should be pushed into the ssob-sdo namespace .

Stage Deploy-dev/test

Deploy-helm-chart-devFirst copies or retags the needed docker image from the ssob-sdo namespace into the regarding runtime namespace. Then it deployes the solution into the specified runtime using the built and retagged images and the solution helm chart. The needed deployment information (configuration name ssob-sdo-solution-deploy) and helm variables (configuration name ssob-sdo-values-yaml) are provided by the configuration management (see solution specific configuration).

Stage Publish

Publish-helm-chartThis job saves the created solution helm chart into the configured repository. The repository is defined in the configuration management (configuration name ssob-sdo-helm-push, see cluster wide configuration). A deploy prod runtime stage can then install a solution directly from the helm chart repository.