Pipeline definition for Low Code Solutions
The pipeline is structured by default in the following procedure:
- Prepare
- Build
- Pack
- Deploy-dev
- Test-dev
- Deploy-test (optionally)
- Test-test (optionally)
- ...
- Puplish
- Deploy-prod (optionally)
- Test-prod (optionally)
- ...
General
There has been a missing dependency failure
will be shown.ERROR: Job failed (system failure): timedout waiting for pod to start
while
trying to start a pipeline job check the resource workload (allocated resources).
Because the error means that the GitLab-runner was not able to start a pod for
executing the pipeline job in a certain time. The reason can be that the available
resources (cpu, memory) of the worker nodes are insufficient.Stage Prepare
The stage prepares the needed Solution Envoy files from the design time information.
prepare-api-spec-gen
This job takes API namespace Design Model-files provided as input and creates the swagger.json files in the format Swagger 2 and OpenApi 3.
prepare-denormalized-domain-model
This job takes a normalized design model of a solution and converts it to its denormalized model form that is needed for the build steps. The denormalized model (json files) can be interpreted by the Solution Envoy.
pepare-validate-design-model
Validates the Design Model (API Model, Domain Model and Solution Manifest). The
result is saved in a result.json
and can be downloaded from GitLab
in the Job artifacts
section.
Stage Build
The stage builds the solution artifacts needed for the deployment.
build-bpm-toolkit
The job takes one or more swagger files and transforms them into BPM importable toolkits. The toolkits are downloadable in the details view of a solution in the Solution Envoy dashboard.
build-low-code-gen-ts
This job takes the domain model of the solution and generates/includes all code neccessary to produce a working solution action executable. The resulting artifact will be a Node.js application that runs on a nodejs Solution Envoy.
Stage Pack
The stage builds and packs all needed deployment artifacts.
pack-deployer-cli
Creates the docker image containing the needed denormalized 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-chart
Creates the helm chart for deploying the solution. This helm chart is used in the
deploy-dev
(deploy-test
,...) stage.
pack-solution-docker
Creates the docker image containing the needed denormalized model files for the
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.
Stafe Deploy-dev/test
deploy-helm-chart-dev/test
First copies or retag the needed docker image from the ssob-sdo
namespace into the regarding Solution Envoy namespace. Then it deployes the solution
into the specified Solution Envoy 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-chart
This 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 Solution Envoy stage can than install a solution directly from the helm chart
repository.