Continuous Integration is one of the renowned mantras in the DevOps + agile environment. It is a DevOps practice where developers/engineers regularly merge their code changes into a central repository, and it is built and tested automatically.
Benefits of continuous integration:
- Prevent integration errors
- Committing code frequently
- Continuous feedback mechanisms
- Catch bugs early
- and many more
Tools for continuous integration:
There are many tools for CI. Some of the popular tools are:
- Jenkins
- Bitbucket Pipelines
- AWS CodePipeline
- CircleCI
- GitHub Actions
As a part of my DevOps learning journey, I came across GitHub actions and I am happy to share my understanding of them here.
GitHub actions:
It is a continuous integration and continuous delivery (CI/CD) platform that automates the build, test and deployment phases. It goes beyond the standard CI process and allows you to configure the workflows such as automated labelling for new issues created in the repository. This workflow can be executed in a GitHub-hosted environment called runners or self-hosted runners. It supports Windows, Linux and macOS virtual environments.
Components of GitHub actions:
- Workflows: Configurable automated process defined in a YAML file, that can execute one or more jobs
- Events: Activity in the repository that can trigger the workflow execution
- Jobs: Set of steps to execute as a part of a workflow
- Actions: Custom applications that are combined to create jobs
- Runners: Servers that run the workflows when triggered