Explore common release management tools

Completed

The following tools are mainstream in the current ecosystem. You'll find links to the product websites to explore the product and see if it fits the needs we described in the previous chapter.

  • What Artifacts and Artifact sources does the tool support?
  • What Triggers and Schedules?
  • Does the tool support Approvals and gates?
  • Can you define multiple stages?
  • How do the Build and Release Tasks work?
  • How does the tool deal with Traceability, Auditability, and Security?
  • What is the Extensibility model?

Per tool is indicated if it's part of a more extensive suite. Integration with a bigger suite gives you many advantages regarding traceability, security, and auditability. Numerous integrations are already there out of the box.

GitHub Actions

GitHub Actions help you build, test, and deploy your code. You can implement continuous integration and continuous delivery (CI/CD) that allows you to make code reviews, branch management, and issue triaging work the way you want.

  • Trigger workflows with various events.
  • Configure environments to set rules before a job can proceed and to limit access to secrets.
  • Use concurrency to control the number of deployments running at a time.

Azure Pipelines

Azure Pipelines helps you implement a build, test, and deployment pipeline for any app.

Tutorials, references, and other documentation show you how to configure and manage the continuous integration and Continuous Delivery (CI/CD) for the app and platform of your choice.

  • Hosted on Azure as a SaaS in multiple regions and available as an on-premises product.
  • Complete Rest API for everything around Build and Release Management.
  • Integration with many build and source control systems
    • GitHub.
    • Azure Repos.
    • Jenkins.
    • Bitbucket.
    • and so on.
  • Cross-Platform support, all languages, and platforms.
  • Rich marketplace with extra plugins, build tasks and release tasks, and dashboard widgets.
  • Part of the Azure DevOps suite. Tightly integrated.
  • Fully customizable.
  • Manual approvals and Release Quality Gates supported.
  • Integrated with (Azure) Active Directory.
  • Extensive roles and permissions.

Jenkins

Jenkins's leading open-source automation server provides hundreds of plugins to support building, deploying, and automating any project.

  • On-premises system. They're offered as SaaS by a third party.
  • No part of a bigger suite.
  • Industry-standard, especially in the full-stack space.
  • Integrates with almost every source control system.
  • A rich ecosystem of plugins.
  • CI/Build tool with deployment possibilities.
  • No release management capabilities.

Circle CI

CircleCI's continuous integration and delivery platform help software teams rapidly release code with confidence by automating the build, test, and deploy process.

CircleCI offers a modern software development platform that lets teams ramp quickly, scale easily, and build confidently every day.

  • CircleCI is a cloud-based system or an on-premises system.
  • Rest API—you have access to projects, builds, and artifacts.
  • The result of the build is going to be an artifact.
  • Integration with GitHub and BitBucket.
  • Integrates with various clouds.
  • Not part of a bigger suite.
  • Not fully customizable.

GitLab Pipelines

GitLab helps teams automate the release and delivery of their applications to shorten the delivery lifecycle, streamline manual processes and accelerate team velocity.

With Continuous Delivery (CD) built into the pipeline, deployment can be automated to multiple environments like staging and production and support advanced features such as canary deployments.

Because the configuration and definition of the application are version controlled and managed, it's easy to configure and deploy your application on demand.

Atlassian Bamboo

Bamboo is a continuous integration (CI) server that can automate the release management for a software application, creating a Continuous Delivery pipeline.