What CI/CD automation tools are there?

 Looking for the most popular CI/CD tools. What do they offer?

1. Jenkins [1][3][4][5]

  • Open-source automation server written in Java
  • Supports self-hosting and can be installed on Windows, macOS, and Unix-like operating systems
  • Provides a user-friendly interface and supports hundreds of plugins for customization
  • Supports configuration as code through Jenkins Pipeline, which uses a Groovy-based domain-specific language (DSL)


2. CircleCI [1][3][4]

  • Hosted CI/CD platform that also supports self-hosting
  • Written in Elixir and Go programming languages
  • Provides a web-based interface and supports configuration as code using YAML files


3. GitLab CI/CD [1][3][4]

  • Part of the GitLab DevOps platform, which can be self-hosted
  • Open-source 
  • Written in Ruby on Rails and Go
  • Supports configuration as code using YAML files

4. Travis CI [1][3]

  • Hosted CI/CD service that integrates with GitHub
  • Written in Ruby and Clojure
  • Supports configuration as code using YAML files

5. Bamboo [1][4]

  • CI/CD tool developed by Atlassian, can be self-hosted
  • Written in Java
  • Supports configuration as code using XML or YAML files

6. TeamCity [1][4]

  • Self-hosted CI/CD tool developed by JetBrains
  • Written in Java
  • Supports configuration as code using XML files

7. Buddy [1][3]

  • Hosted CI/CD platform that also supports self-hosting
  • Written in Go
  • Supports configuration as code using YAML files

8. Codeship [3][4]

  • Hosted CI/CD platform
  • Written in Ruby and Go
  • Supports configuration as code using YAML files

9. Buildbot [1]

  • Self-hosted CI/CD framework written in Python
  • Supports configuration as code using Python scripts

10. Spinnaker [3]

  • Open-source multi-cloud continuous delivery platform
  • Written in Java and Groovy
  • Supports configuration as code using YAML files


Most of them support configuration as code using YAML or domain-specific languages.

TeamCity has built-in support for Kotlin DSL, allowing you to define your build configurations and pipelines using Kotlin code. TeamCity provides extensive Kotlin DSL documentation and examples to help you get started.

Jenkins supports configuration as code through the Jenkins Pipeline, which uses a Groovy-based domain-specific language (DSL). This allows you to define your build and deployment pipelines programmatically.

GitLab's CI/CD configuration is defined using YAML files, which provides a similar experience to Kotlin DSL in terms of defining pipelines as code.

CircleCI and Spinnaker also uses YAML files for configuring CI/CD pipelines.

Bamboo supports configuration as code using either XML or YAML files.


Citations: [1] https://docs.gradle.org/current/userguide/kotlin_dsl.html [2] https://blog.jetbrains.com/teamcity/2023/08/kotlin-dsl-examples/ [3] https://dzone.com/articles/automated-cicd-of-multiple-projects-using-teamcity [4] https://www.lambdatest.com/blog/best-ci-cd-tools/ [5] https://blog.jetbrains.com/teamcity/2023/07/best-ci-tools/ [6] https://www.cloudzero.com/blog/cicd-tools/ [7] https://habr.com/en/articles/550656/ [8] https://kotlinlang.org/docs/kotlin-and-ci.html

Citations: [1] https://katalon.com/resources-center/blog/ci-cd-tools [2] https://cloudomation.com/en/cloudomation-blog/ci-cd-as-code/ [3] https://www.cloudzero.com/blog/cicd-tools/ [4] https://www.atlassian.com/devops/devops-tools/cicd-tools [5] https://www.geeksforgeeks.org/best-ci-cd-tools/ [6] https://blog.jetbrains.com/teamcity/2023/07/best-ci-tools/ [7] https://www.simplilearn.com/best-ci-cd-tools-article [8] https://www.zucisystems.com/blog/ci-cd-tools/ [9] https://www.techtarget.com/searchitoperations/tip/Important-DevOps-engineer-programming-languages-to-learn [10] https://www.qovery.com/blog/top-10-cicd-tools-to-consider/ [11] https://bluelight.co/blog/best-ci-cd-tools [12] https://www.reddit.com/r/devops/comments/w1chjk/what_is_your_preferred_cicd_tool/ [13] https://herovired.com/learning-hub/blogs/ci-cd-tools/ [14] https://amazic.com/10-infrastructure-as-code-iac-tools-that-can-be-integrated-into-ci-cd-pipelines/ [15] https://spacelift.io/blog/ci-cd-tools [16] https://estuary.dev/open-source-ci-cd-tools/ [17] https://circleci.com/blog/configuration-as-code/ [18] https://www.browserstack.com/guide/configuration-as-code [19] https://github.com/ligurio/awesome-ci [20] https://www.reddit.com/r/devops/comments/13hmwsg/what_are_some_good_selfhosted_cicd_tools_where/

Comments