Pipeline Definition for Low-Code Projects

The pipeline is structured in the following procedure:

Build & Deploy Pipelines

TypeScript Projects

The Build and Deploy pipeline for TypeScript low-code projects contains the following tasks:

  • k5-build-managed-node

  • k5-deploy

Java Projects

The Build and Deploy pipeline for Java low-code projects contains the following tasks:

  • k5-build-managed-ddd-java

  • k5-deploy

Note: The k5-deploy task is common among low-code projects as well as pro-code projects.

Task Steps Overview

Task Steps Build (k5-build-managed-node and k5-build-managed-ddd-java)

  • prepare-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)

  • prepare-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 necessary k5-project files from the design time, builds and packs the artifacts needed for the deployment:

prepare-validate-design-model

Validates the design model (API Model, Domain Model and project 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 project 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 k5-project.

prepare-api-spec-gen

This job takes the API namespace's design model files provided as input and creates the API specification 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 tool-kits. The tool-kits are downloadable in the Details view of a project in the Solution Envoy dashboard.

build-low-code-gen-ts

This job takes the domain model of the project and generates/includes all code necessary to produce a working project action executable. The resulting artifact will be a Node.js application that runs on a Node.js k5-project.

prepare-solution-docker

Creates the Docker image containing the necessary denormalized model files for the project and the deploy jobs of the project. 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 project. 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 project Docker image (.tar file) into the result image (image name: solutionAcronym:imageTag) and pushes it into the OpenShift Registry. That is needed, so the built project artifacts can be used in the Deploy part of a Build & Deploy pipeline and in a Deploy pipeline in another k5-project.

Task Steps Build (k5-build-managed-ddd-java)

The build part of the pipeline prepares the necessary k5-project files from the design time, builds and packs the artifacts needed for the deployment.

Following steps function equally to the k5-build-managed-node task:

  • prepare-validate-design-model

  • prepare-denormalized-domain-model

  • prepare-api-spec-gen

  • build-baw-toolkit

  • prepare-solution-docker

  • pack-helm-chart

  • pack-installation-image

The following step differs in the output from the above steps:

build-low-code-gen-ts

This job takes the domain model of the project and generates/includes all code necessary to produce a working project action executable. The resulting artifact will be a Java application and framework with provided API modelling.

Task Steps Deploy (k5-deploy)

The Deploy task of the pipeline deploys the project into the k5-project and runs the project tests if they exist:

prepare-image

Copies the image (containing the created project image and project helm chart) from the configured source (project and image tag) into the current k5-project.

prepare-deploy-solution

Unpacks the artifacts (created project image as .tar file and the project Helm chart) from the image (see prepare-image step) and push the project image into the current namespace.

deploy-solution

It deploys the project into the k5-project using project Helm chart. The needed Helm variables for the project deployment (configuration name ssob-sdo-values-yaml) are provided by the Configuration Management (see Solution Specific Configuration).

test-solution

It runs the project tests. The needed configuration variables (test user) for the project 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 project image and project Helm chart) for the next stage.