Skip to main content

common release management tools

 

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.

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...