CI
Overview
The CI (Continues Integration) pipelines are responsible for validating, compiling and building the artifacts and publishing them to the various registries.
Background
We store all our helm charts of all the teams under the helm-charts repository
This repository is a mono repo, where each team has it’s own scope
. For example, 3D
team has it’s own directory where the team is storing their helm charts.
- /
- 3D/
- Umbrella chart
- deployment.json
- artifacts.json
- raster/
- Umbrella chart
- deployment.json
- artifacts.json
Release Workflow
The release workflow begins with a new release or tag push on each service repository and is executed using Github Actions workflows.
The workflows are being triggered automatically.
If we take a look at a sample repo store-trigger
it has a workflow called Build and push artifacts
, where the source of this can be found here
The workflow is building the docker image of the service, tagging it and pushing it to Azure ACR
. Along with the docker image the flow also builds and pushes the helm package which is part of the repository.
Afterwards it's updating the artifacts.json
which is associated with the team's scope
under the helm-charts repository with the new releases which have been just released.