How to choose a cloud CI/CD platform

Hosting CI/CD in the cloud can speed up interactions between development pipelines and source code repositories and make life easier for developers. There are a surprising number of options.

1 2 Page 2
Page 2 of 2

GitHub Actions is a GitHub-hosted continuous integration and continuous delivery platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production. GitHub Actions also lets you run workflows when other events happen in your repository. (For example, you can run a workflow to automatically add the appropriate labels whenever someone creates a new issue in your repository.) GitHub provides Linux, Windows, and macOS virtual machines to run workflows, or you can run them in your own VMs, in the cloud or on-prem, using self-hosted runners. GitHub Actions supports Node.js, Python, Java, Ruby, PHP, Go, Rust, .NET, and Swift.

GitLab CI/CD

GitLab CI/CD is the part of GitLab that you can use for all of the continuous methods (continuous Integration, continuous delivery, and continuous deployment). With GitLab CI/CD, you can build, test, deploy, and monitor your applications, with no third-party application or integration needed. GitLab automatically detects your programming language and uses CI/CD templates to create and run default pipelines to build and test your application. Then, you can configure deployments to deploy your apps to staging and production, and set up Review Apps to preview your changes per branch. Thus GitLab CI/CD helps you to catch bugs and errors early in the development cycle and ensure that all the code deployed to production complies with the code standards you established for your app.

Google Cloud Build

Google Cloud Build is a cloud-hosted, fully managed CI/CD platform that lets you run builds across Google Cloud, other public clouds, and on-premises systems, or strictly within your own private network. You can create pipelines as a part of your build steps to automate deployments, and deploy using built-in integrations to Google Kubernetes Engine, Google App Engine, Google Cloud Functions, and Google Firebase. You can set up triggers to automatically build, test, or deploy source code when you push changes to GitHub, Google Cloud Source Repositories, or a Bitbucket repository. Cloud Build can be used with Spinnaker for creating and executing complex pipelines.

IBM Cloud Continuous Delivery

IBM Cloud Continuous Delivery provides toolchains, pipelines, and tool integrations for software delivery. You can create toolchains that include IBM services, open source tools. or third-party tools that make development and operations repeatable and easier to manage. You can build, test, and deploy in a repeatable way with minimal human intervention by leveraging Tekton-based delivery pipelines. You can manage your source code and track work with Git repositories and issue tracking hosted by IBM and built on GitLab Community Edition. And you can quickly provision toolchains for DevSecOps, deployments to Kubernetes, Cloud Foundry, VMs, and more with shareable, customizable templates that include IBM, open-source, and third party tools.

Spinnaker

Spinnaker is an open-source, multi-cloud continuous delivery platform designed to help you release software changes with high velocity and confidence. Spinnaker combines application management features that allow you to view and manage your cloud resources with application deployment features that allow you to construct and manage continuous delivery workflows. A mature and widely productionalized continuous delivery platform, Spinnaker can apply the expertise of Netflix, Google, Microsoft, and Amazon to your software development life cycle.

TeamCity

TeamCity is a general-purpose CI/CD solution from JetBrains that allows the flexibility for all sorts of workflows and development practices. TeamCity allows you to write CI/CD configuration using Kotlin, giving you the power of a full-featured programming language and its toolset. TeamCity is integrated with all version control systems, not just Git. It natively supports Java, .NET, Python, Ruby, Xcode, plus other languages through plugins. TeamCity is also integrated with Docker, YouTrack, Jira, Bugzilla, Maven, Visual Studio Team Services, and NuGet.

Travis CI

Travis CI is a continuous integration and deployment tool that provides flexible automation for your builds, tests, and deployments. In addition to automatically building and testing code changes, Travis CI can automate other parts of your development process by managing deployments and notifications. This means you can have jobs depend on each other by using Build Stages, set up notifications, prepare deployments after builds, and perform many other tasks. Travis CI was the first CI service that provided services to open-source projects for free, and continues to do so. Travis CI supports Assembla, Bitbucket, GitHub, and GitLab, and more than 30 programming languages.

Do a proof of concept before committing

CI/CD will be a critical part of your infrastructure once you have it fully implemented. Bear that in mind as you get up to speed.

It’s important to perform a rigorous proof of concept before starting to roll out the CI/CD pipelines. Shake down the CI portion before beginning the CD phase. Make sure you exercise your test suites and rollback capabilities before connecting any CI/CD pipelines to production instances, and keep humans in the loop until you’re very sure that the automation is rock solid.

Copyright © 2022 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2