Skip to content

4. CI CD

Nisha Sharma edited this page Mar 26, 2024 · 11 revisions

To simplify the process of development, releasing of software, and also keeping the agile development practices in mind, we have a CI/CD workflow intact with our repository which will enforce the automation of the whole deployment process. The workflow focuses on automating the software delivery process so that the team can easily deploy their code to production at any time without compromising on quality.

We have used Github Actions for building the CI/CD pipeline.

To deploy code to Development

  • Update the READMe.md first if you are planning to create the release.
  • After merging the PR to the development branch.
  • Wait for the workflow in Github Actions to finish.
  • Once the workflow run is complete, refresh your browser to find the code changes.

Please Note - Code cannot be pushed directly to development branch. For any code changes, you will have to make changes in a separate branch and create a pull request to the development branch, which will require all the checks/tests to pass and at least one approval from the reviewer before merging.

To deploy code to Production

  • Create a PR from development to main branch and merge the PR after all the checks has passed and approved by the reviewer.
  • Once the code is merged to main it will trigger the release-please workflow in Github Action which will help in creating an auto-release with auto CHANGELOG generation depending on your conventional commits
  • Before the release-please creates the release pull request, it will need the e2etest and lint to pass first.
  • Approve the release PR created by release-please action.
  • Once the PR is merged wait for a few minutes for the release to be created.
  • Once the release is created, switch to branch prod-helm-deploy in your local.
     git checkout prod-helm-deploy
  • Pull the latest code from both prod-helm-deploy & main branch.
  • Finally, push all the latest commits to the prod-helm-deploy branch.
  • Wait for the workflow to finish in Github Action.
  • Once the workflow run is complete, refresh your browser to find the code changes.

Please Note - Deployment would be unsuccessful or incomplete if there is any failure in Github Action at any point of the above steps.

Clone this wiki locally