Continuous Integration and Deployment(3.1)
The
Continuous Integration and Deployment (CI/CD) pipeline automates the building, testing, and deployment of use- and test cases.is designed to provide API driven operations to enable fully automated CI/CD pipelines.
In Workflow Packages are used to facilitate the transportation of data between different environments, such as development, test, and production environments.
, so calledIt is possible to run multiple versions of a workflow in parallel using Workflow Packages in the same system or in independent systems.
Using tools for traffic management there are also solid processes for doing “Blue/Green” or “Canary” deployments to achieve zero-downtime upgrades. See Upgrade Strategy for more information.
CI/CD pipeline steps
The picture below shows an example of the steps involved in a CI/CD pipeline. The third party products Git, Jenkins, and Artifactory are just examples.
The example is based on the assumption that the finished deliverable contains everything, including images. Furthermore, it does not require internet access from the target environment, for example the pre-production or production environment.
Example of a CI/CD pipeline
- Development environment: Code is changed and workflows are built in a
- Build and Test Server: Once workflows are ready, they are moved into a staging or integration environment. Here, workflows and other parts of the solution are compiled into packages and possibly assembled with pieces from other development environments. Automated test suites are automatically applied to the packages in this environment. When all tests are passed, an orchestrator (for example Jenkins) orders Workflow Packages for more information.
- Docker image and Helm chart: At this point, the Workflow Package can be promoted to the next step. The Docker image contains all relevant information required for running in, for example, a pre-production environment. The Helm chart, located in a Helm repository, points out the Docker image, the Workflow Package version, and workflows.
- (Pre-)Production environment: The Helm chart pointing out the Docker image is deployed in a target environment, for example the pre-production environment. When suitable, the exact same procedure can be applied to a production environment. The configuration and workflows look exactly like in a development environment but are read only.
Use the
Desktop client to select workflows and configurations to be packaged into Workflow Packages, tested, and later deployed in production.For information on how to install the example pipeline, see Install the Example CI/CD Pipeline.
This section contains the following sub-sections: