CI/CD – Continuous Integration Tools

Tram Ho

Brief summary of Continuous Integration tools popular in the community.

CI/CD stands for (Continuous Integration and Continuous Delivery/ Continuous Deployment). Simply explained CI/CD is a platform that brings together tools that help developers, engineers, and DevOps to package and distribute software to users automatically and easily.

A CI/CD platform will consist of 3 modules:

  • Continuous Integration: integrate the change of code into the current version
  • Continuous Delivery: securely deploy software changes to production, e.g. Canary Release
  • Continuous Deployment: deploy the product to production.

The difference of Continuous Delivery from Continuous Deployment is that Continuous Delivery will deploy a pre-release version of the product, requiring us to test everything is fine before proceeding. And Continuous Deployment will deploy directly to production.

01 – Continuous Integration

CircleCI

CircleCI is a Continuous Integration tool designed for high speed and extensibility, CI configuration written in YAML file, making it easier to track CI configuration changes. Currently CircleCI is one of the well-reviewed Continuous Integration tools.

Advantages of CircleCI:

  1. Beautiful user interface, flexible build environment, easy to use.
  2. Supports role-based access control (RBAC) authorization.
  3. Supports many different build environments.

Cons of CircleCI:

  1. The biggest risk when choosing CircleCI is often having short downtime and sometimes very slow in terms of experience, if one of our jobs needs a very long time to run but it has a downtime then we have to start over, which is very time-consuming. time.
  2. There are a lot of limitations with Docker.
  3. Team at a Job takes a long time to be executed.

Cost

CircleCI offers a lot of different paid plans. If our scale is small, we can choose the Free package, if the scale is quite large, we can choose the Performance package. However, if our software requires constant updates, CircleCI must run continuously, the more CircleCI executes, the more it will cost, similar to AWS CodeBuild (the more resources you use, the more you pay), so it is not suitable for large-scale projects and needs constant updating.

AWS CodeBuild

If you are a DevOps that is using AWS then using the AWS Continuous Integration tool for development is always the best option. AWS CodeBuild is a Continuous Integration tool that AWS developed, which can be integrated with many other AWS services. Using AWS CodeBuild makes deploying on AWS easier, with CodeBuild you don’t have to manage scaling build servers yourself, AWS does it.

Advantages of AWS Codebuild are:

  1. Can be combined with CloudWatch to save unlimited logs and can monitor the build process
  2. Can build hundreds of projects in parallel with CodeBuild’s auto-scaling feature
  3. Support Docker-base, docker command available without having to install it yourself
  4. YAML-based

Defect:

  1. The biggest disadvantage of CodeBuild is that the user interface is not very nice
  2. Not flexible or customizable
  3. Complicated initial setup

Cost

AWS CodeBuild charges every minute to build, instead of having to build an entire build server and pay 24/7 even when there’s no need to build. With CodeBuild, when performing a new build, paying will help save a lot of costs for the server, every month AWS will be free for 100 minutes of build. However, for a project with a long and continuous build time, AWS CodeBuild is very expensive.

Concourse

Concourse was developed in 2014 by two engineers after they used a lot of CI tools and realized the missing functions of existing tools. Concourse is an open-source and rated up to 6.6k stars on github, it’s a very easy to use tool and very well supported on Docker platform.

Advantages:

  1. Fast Speed, Scalable
  2. Open-source and free
  3. Simple interface, easy to use
  4. Everything runs on Container platform

Defect:

  1. Because it is open-source, there will be many errors that can arise, and if it is a tool error, we need to wait for the maintainer to fix it.
  2. Lack of basic features, need time to come up with alternatives
  3. Many stability problems

Costs

Because it’s open-source, it’s completely free, but remember nothing is completely free, although the Concourse tool is free, you have to pay for the server, operating and management costs.

Drones

Drone developed in 2012 by Brad Rydzewski is a container-native Continuous Integration platform, drone is a very easy to use and extensible tool. Drone is an open-source and rated 25.8k stars on github, 50k+ users and over 100 million pulls on github.

Advantages:

  1. All steps run on separate container
  2. Very nice and easy to use interface
  3. Very fast installation, about 5 minutes
  4. All pipelines are configured with code

Defect:

  1. There are not many plugins available like Jenkins

Cost

Because it’s open-source, it’s completely free, we only need server costs and operating and maintenance costs. If compared with Jenkins, its server cost will be cheaper than Jenkins.

Travis CI

Travis CI is the first CIAAS (CI as a Service) tool, it was originally designed to be a CI tool for open-source projects, but later because of community acceptance, it was developed to have Can make CI tools for personal projects (paid version). Travis CI supports pipeline configuration using YAML format. Supports testing and building code for more than 30+ languages.

Advantages:

  1. 100% free to use for open-source projects (public repository)
  2. Quick CI initialization and configuration in minutes
  3. Nice and easy to use interface
  4. Support 30+ languages
  5. Has database support (very convenient)

Defect:

  1. Lack of administration and security, for example, adding secrets is quite difficult
  2. Lacks many enterprise features compared to other CI tools

Cost

Using for open-source projects is completely free. As for Travis Pro, the cost will be calculated on a monthly basis. If you sign up for Travis Pro, the first 30 days will be free, after that it will cost $69 a month for 1 concurrent jobs, if 2 concurrent jobs it will be $ 129 a month.

Source: The CI/CD Buyer’s Guide – Harness

Share the news now

Source : Viblo