In this blog post article, our aim is to focus on Continuous Integration/ Continuous Delivery tools.
For using a CI/ CD Pipeline, the first and foremost thing is to get the infrastructure in place. For a CI/CD pipeline, we need to install 15 tools that we have divided into six categories:
- Source Code Repository
- Continuous Integration Server
- Continuous Integration Software
- Code Quality Tools
- Binary Repository Manager
b. Sonatype Nexus Repository
- Communication Tool
In this blog post, we will discuss tools from the first three categories: Source Code Repository, Continuous Integration Server, Continuous Integration Software.
Source Code Repository: Source Code Repository is used as a place to manage source codes. It is a place that is used to take source code from: for processing, building, testing, deploying and so on. You can select from a SaaS service like GitHub or choose from a self-hosted service like GitLab and install it on your server.
GitHub is a web-based repository and a hosting service for your projects. One of the most exciting things about GitHub is that it supports distributed revision control and source code management functionality. GitHub has a desktop interface, a web-based graphical interface, and a mobile integration.
It also supports features like access control, bug tracking and wiki for every project.
- It is a very versatile tool ideal for distributed teams.
- You can create a backup of your code on GitHub instead of saving it on desktop or the corporate server.
- It has built-in review tools, thus making code review an essential part of your team’s work.
Download Link: https://github.com/
Gitlab is a complete DevOps Platform. With Gitlab, you will be getting a full CI/ CD Toolchain out-of-the-box.
- Audit Management: Now it is possible to track important events like who performs this action, the time at which it was performed and many more.
- DevOps Score: It is feasible to check the score of your organization's performance in terms of adopting DevOps.
- Authentication and Authorization: It features multiple Authorization mechanisms like LDAP, Okta, SAML and many more.
- Value Stream Management: Visualize, manage and optimize the flow of work through the DevOps lifecycle value stream.
Download Link: https://about.gitlab.com/install/
Bitbucket is much more than Git Code Management. Bitbucket is a one-stop destination where teams can plan projects, collaborate on code, test and deploy.
- Free Unlimited Private Repositories: Bitbucket is free for small teams under 5. After this, there are plans as Standard and Premium.
- Best Jira and Trello Integration: It is possible to keep projects organized by creating branches from Jira issues and Trello cards.
- Built-in Continuous Delivery: BitBucket makes it feasible to Build, Test and deploy with integrated CI/ CD.
- Build Quality Software with Code Review: Create a checklist with designated approvers and hold discussions in the source code with the help of inline comments.
DBmaestro is a DevOps Platform, a DevOps for Database. It helps to increase the productivity of the Development team by 15%.
- Accelerate the overall software release cycle with database release automation.
- Integrate multiple DevOps tools like Jenkins, Bitbucket and many more.
- Scalability is not an issue anymore. Scale-up as your company grows.
- Now it is possible to manage high volume and high action database easily.
Continuous Integration Server: This aims at providing a way to visualize the workflows.
GoCD is a free and open-source CI/ CD Server. It is used to model and visualize complex workflows.
- End To End Visualization: With the help of the GoCD value stream map, it is possible to view the entire path to production in a single view. Now it is possible to spot inefficiencies and optimize the process.
- Cloud-Native Deployments: It is possible to streamline zcd workflow on cloud environments like Docker, AWS and many more.
- Complex Workflow Modelling: GoCD is a pioneer in modeling complex workflows for fast feedback.
- Advanced Traceability: With GoCD, it is possible to troubleshoot a broken pipeline by tracking every change from committing to deploy in real-time.
Download Link: https://www.gocd.org/download/
TeamCity is a hassle-free CI/CD Server from JetBrains.
- Extensibility and Customization.
- On the fly build progress reporting.
- Remote run and pre-tested commit.
- Free forever? Yes, with unlimited users, unlimited build time.
- Public issue tracker and forum.
Bamboo is a Continuous Integration and Deployment Server.
- Bamboo setup is easy to download and install.
- Bamboo is available for hosted or on-premise versions.
- Bamboo facilitates real-time collaboration and integration with HipChat.
- Built-in Git branching and workflows.
Download Link: https://www.atlassian.com/software/bamboo
Integrity is a Continuous Integration Server that works only with GitHub. Whenever the user commits a code, it builds and runs the code.
- It generates reports and provides notifications to the user.
- It has an HTTP Notifier feature that sends HTTP POST Request to a specific URL.
- It supports various notification mechanisms like AMQP, Email, Amazon SES and many more.
Download Link: http://integrity.github.io/
Continuous Integration Software: These software aids at the implementation of CI/ CD Pipeline.
Jenkins is an open-source tool written in Java to provide continuous integration services for your project. It runs in a server container like Apache Tomcat, and thus it is a server-based system. It contains hundreds of plugins, making it easier to build, deploy and automate any project.
- Builds can be started manually with just a click.
- It is possible to schedule a build via a cron-like mechanism.
- Builds are committed to a version control system.
Download Link: https://jenkins.io/download/
Wercker is a Continuous Integration tool that automates the building and deploying of the container.
- It is fully integrated with GitHub and BitBucket.
- It helps to execute build concurrently.
- Run parallel tests to save the valuable development time.
- It is possible to integrate with the 100s of external tools.
Semaphore is a CI tool that supports many languages, frameworks and can be integrated with GitHub. With the advent of Semaphore, it is now easy to test and deploy your code at the push of a button.
- Easy setup process.
- It allows parallel testing.
- Seamless integration with GitHub and BitBucket.
Download Link: https://semaphoreci.com
With this, we are done with the first three categories of CI/ CD Tools. In the next blog post, we will be covering the remaining three categories. Till then, Stay Tuned!
Happy Reading !!!