Skip to main content

Why we need CI/CD

With the help of CI/CD (Continuous Integration and Continuous Development) we can automate the software development lifecycle and also reduce human error. All in all, it ensures that all changes are automatically built, tested, and packaged giving us the benefits of shipping reliable code faster.

Some of the benefits due to using CI/CD:

  • Automatic testing
  • Consistent and automated release process
  • Faster feedback
  • Saving time

What It Means to Build and Release Software

Building and releasing software is the process of turning source code into a packaged and versioned product that is ready for distribution or deployment.

We follow a structured approach to releasing software by using conventional commits and the Release Please GitHub Action.

Conventional Commits

All commit messages should follow the Conventional Commits standard, which looks like:

feat: add dependent service
fix: correct service yaml value
chore: update dependencies

Using this format allows us to automatically determine the next version number.

Using Release Please

The following are the steps of how Release Please automates the release process:

  • Scan commit history for conventional commits
  • Creates a release pull request with a new version number and updated CHANGELOG.md