The diagram below illustrates a CI/CD workflow implemented in the HERE Workspace.
This workflow consists of the following high-level stages:
The last three stages each have their own environment. While there are many ways companies can set up their CI system(s), the instructions below assume that all stages are implemented in Jenkins continuous integration system.
The building and testing phases in the CI environment are as follows:
Pre Submit Validation skips publishing artifacts and deploying to the test environment since it only verifies that the changes made by a developer don't break the code before it enters the development branch. In this workflow, both phases are handled in Gerrit with Plugin-based Validation in conjunction with Jenkins. Pre Submit Validation is an extra phase and is not mandatory in the scope of these instructions.
Validating deployment to the test environment and the production environment requires a series of steps. In this example, Jenkins sets up and tears down the test environment and deploys the artifact(s) to the production environment. The main steps in the CI/CD workflow are:
In the above steps, the successful completion of a step triggers the next step. You can add more than one job in step 2 or step 3 to test multiple pipelines in parallel or to deploy multiple pipelines to production.
The sections below provide additional details on what is required to set up this CI/CD workflow.