Common tools to use for implementing CI/CD
There are a variety of tools that can be used to facilitate a CI/CD pipeline (a beginning-to-end series of steps that handles several development aspects via automation). These tools have a wide range of uses, and you can apply them to different parts of the development process.
What will you learn?
- Using automation tools for specific parts of the development process
- Integrating these tools so they work together to create a full CI/CD pipeline
What do you need before starting?
Jenkins
Jenkins is an open source automation tool written in Java, often used for CI/CD. Given its open source nature, Jenkins can be highly customized with additional plugins to suit your organizations’ unique needs.
Jenkins can be used to build and test your projects continuously, as well as improve the quality of the applications you build by running tests against it. The tool serves as a way of establishing a standardized deployment for your application, as well as ensuring that all code is run against a single source of truth.
To learn more about how Jenkins supports CI/CD, please see this article.
Tekton
Tekton is a Kubernetes-based framework for CI/CD pipelines. It differs from Jenkins in its ability to create pipelines to any Kubernetes cluster across multiple hybrid cloud providers. Its pipelines are containerized for easy implementation across a wide net of environments with clusters, which makes it well-suited for a large enterprise network.
Other tools
There are many other options available outside of Tekton and Jenkins for your CI/CD implementation. Some help with integration, others apply to delivery, and some to both.
- GitLab - a managed CI/CD solution
- Spinnaker - a multicloud option focused on continuous delivery
- GoCD - a CI/CD server tool
- Red Hat® Ansible® Automation Platform - a configuration automation solution offered by Red Hat
- Chef - a configuration tool that can assist with CI/CD processes
Many more options can be plugged into your CI/CD pipeline to make it run the way you want.
Now that you’ve learned about a few common CI/CD tools, learn how to implement them in a ROSA-specific environment.