Pipeline Definition for JavaScript and TypeScript Pro-Code Projects

The pipeline is structured in the following procedure:

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

  • k5-build-managed-custom-node

  • k5-deploy

The Deploy pipeline for JavaScript and TypeScript pro-code projects contains the following task:

  • 5-deploy

Task Steps Overview

Task Steps Build (k5-build-managed-custom-node)

  • custom-node-build

  • prepare-solution-docker

  • pack-Helm-chart

  • pack-installation-image

Task Steps Deploy (k5-deploy)

  • prepare-image

  • prepare-deploy-solution

  • deploy-solution

  • complete-deploy-solution

Task Steps Build (k5-build-managed-custom-node)

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

custom-node-build

The job mainly follows the build life-cycle basics of Node. The pro-code project will be validated, compiled, tested by executing the provided unit tests and afterwards packaged in its distributable format.

prepare-solution-docker

Creates the Docker image containing the needed 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's 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 Deploy (k5-deploy)

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

prepare-image

Copies the image (containing the created project image and project's 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's Helm chart) from the image (see prepare-image step) and pushes the project image into the current namespace.

deploy-solution

It deploys the project to the k5-project using the project's 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).

complete-deploy-solution

Prepares the result image (containing the created project image and project's Helm chart) for the next stage.