Pipeline definition for Low Code Solutions
The Pipeline is structured in the following procedure (Pipeline Tasks and Steps):
Build and Deploy Pipeline Tasks
The Build and Deploy Pipeline for Low Code Solutions contains the following Tasks:
k5-build-managed-node
k5-deploy
Deploy Pipeline Tasks
The Deploy Pipeline for Low Code Solutions contains the following Task:
k5-deploy
Task Steps Overview
Task Steps Build (k5-build-managed-node)
- pepare-validate-design-model
- prepare-denormalized-domain-model
- prepare-api-spec-gen
- build-baw-toolkit
- build-low-code-gen-ts
- prepare-solution-docker
- pack-helm-chart
- pack-installation-image
Task Steps Deploy (k5-deploy)
- pepare-image
- prepare-deploy-solution
- deploy-solution
- test-solution
- complete-deploy-solution
Task Steps Build (k5-build-managed-node
)
The Build part of the pipeline prepares the needed Solution Envoy files from the design time, builds and packs the artifacts needed for the deployment:
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 shown in the logs of the Pipeline Run.
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.
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.
build-baw-toolkit
The job takes one or more swagger files and transforms them into BAW 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.
prepare-solution-docker
Creates the docker image containing the needed denormalized model files for the
solution and the deploy jobs of the solution. The created docker image will be saved as tar file,
packed in the result image (see pack-installation-image
) and then used in the
deploy-solution
step.
pack-helm-chart
Creates the helm chart for deploying the solution. This helm chart is packed in the
result image (see pack-installation-image
) and then used in the
deploy-solution
step.
pack-installation-image
Packs the created helm chart and the solution docker image (tar file) into the result image
(image name: solutionAcronym:imageTag
) and pushes it into the OpenShift Registry.
That is needed that the built solution artifacts
can be used in the Deploy part of a Build and Deploy Pipeline and in a Deploy Pipeline in another Solution Envoy.
Task Steps Deploy (k5-deploy
)
The Deploy Task of the Pipeline deploys the Solution into the Envoy and runs the Solution Tests if they exists:
prepare-image
Copies the image (containing the created solution image and solution helm chart) from the configured Source (project and image tag) into the current Solution Envoy.
prepare-deploy-solution
Unpacks the artifacts (created solution image as tar file and the solution helm chart) from the image (see prepare-image step) and push the solution image into the current namespace.
deploy-solution
It deploys the solution into the Solution Envoy using solution helm chart. The needed
helm variables for the solution deployment (configuration name
ssob-sdo-values-yaml
) are provided by the configuration
management (see solution specific configuration).
test-solution
It runs the solution tests. The needed config variables (test user) for the solution
test (configuration name ssob-integration-test
) are provided by the
configuration management (see solution specific configuration).
complete-deploy-solution
Prepares the result image (containing the created solution image and solution helm chart) for the next stage.