Updating dev deployments
Overview
To deploy changes to the current deployment, a number of steps must be followed. Deployments are managed using a service called ArgoCD, which is configured through the Transport-ArgoCD repository. An additional layer between GlobalDcc and ArgoCD is the GlobalDccDeploymentK8 repository.
Example
The following steps cover a specific example: making changes to GlobalDcc.Api.Server, involving code changes in the mentioned project. The same principles can be applied to other projects.
Steps
These are the steps needed to propagate changes all the way to deployment. The following steps are for updating the dev environment, but updating prod follows the same logic:
- Make code changes and put them on a new branch(story/log).
- Run the appropriate CI pipeline, in this case gdcc_api_ci.
- K8 globaldcc configuration file contains image information for the specific projects. In the example, updating of the image tag for api would include the number and the branch associated with the gdcc_api_ci pipeline, for example 1.0.12-log.
- This changes should be commited to a new branch(lets name it story/logK8) of the K8 repository. So far there are no needs for any pull requests to be completed.
- Finally, Transport-ArgoCD repository contains
a global dcc config file.
Here, repository target revisions should be updated to reflect the branch
names of the K8 repository, in this case,
story/logK8
. A pull request is needed for the change to be propagated.
After these steps, updating the branches of GlobalDcc and the K8 repositories should reflect on the deployments, which usually anywhere from 5 to 20 minutes to sync up and redeploy the targeted pods. Once the needed changes have been implemented and tested, pull requests should be made for the GlobalDcc and K8 repository, and the values mentioned in the above steps should be updated to reflect the new main branches and their CI run tags.