We’re excited to announce the release of Deployment Pipelines in Humanitec’s Platform Orchestrator. This new feature allows you to configure automated deployment flows, enabling continuous deployment (CD) scenarios for your team.Â
The following article serves as an introductory guide, offering insights into the new capabilities that Deployment Pipelines introduce, alongside an overview of changes to the existing deployment flow.
Unlocking automation with Deployment Pipelines
Humanitec Deployment Pipelines are driven by the need to support CD for development teams. Until now, the automation rules feature allowed users to configure automated deployments based on incoming artefact (image) updates, however it fell short in automating other aspects of the deployment flow, such as running tests, executing custom scripts, or implementing manual approvals. With the introduction of Deployment Pipelines, users now have the option to customize and automate their workflows from within the Platform Orchestrator, enabling more complex deployment scenarios.Â
A key benefit of using Humanitec’s pipeline system is its centralized management of all deployment-related logic. The Platform Orchestrator already houses information on Applications, Environments, and Workloads, including any relevant RBAC roles and permissions, enabling easy retrieval and integration for automation purposes.Â
Designing your automation journey with Humanitec
In your Internal Developer Platform (IDP), your CI pipeline notifies the Platform Orchestrator about new artefact (image) updates, initiating the process of moving changes through to production. Deployment pipelines allow you to automate this flow further. They can easily be combined with third-party tools such as GitOps operators (e.g., ArgoCD and Flux), offering you full control over your CD setup. If you’d like to explore this further, our developer documentation on Deployment Pipelines is a helpful starting point. It provides an overview of concepts and capabilities, along with an in-depth exploration of individual features such as trigger types, actions, and schema components.Â
In this section, we’ll dive into fundamental pipeline concepts and features, showcasing how to enhance your existing deployment flow by:
- Running tests in an external CI pipeline after a successful deployment
- Matching pipelines to specific Environments using Matching Criteria
- Automatically promoting changes between EnvironmentsÂ
How to customize your deployment flow with Humanitec Pipelines
In this demo, we’ll guide you through the default deployment flow with Humanitec Pipelines. Following that, we’ll create a custom Deployment Pipeline, extending the functionality of the default deploy pipeline to include running tests in an external CI system after the deployment succeeds.
With Deployment Pipelines being managed at the Application level, you have the option to match them to specific Environments using Matching Criteria. In the demo below, we’ll demonstrate exactly that by utilizing the previously created custom pipeline to deploy to a second Environment of type “development”.
Finally, we’ll take our custom pipeline a step further by configuring it to promote changes between Environments. We’ll show how to clone and deploy to a staging environment once the deployment on development has succeeded and all tests have passed successfully.
To learn more about the pipeline actions featured in the above demos, check our documentation on available actions. If you’re interested in exploring further use cases, our examples library includes additional scenarios on how deployment flows can be automated.
Today’s transition to Deployment Pipelines
As you dive into the features and capabilities that Deployment Pipelines offer, you might ask how this new addition affects your deployment process and workflow today, and if any immediate actions are required.
Firstly, it's important to note that your existing deployment flow will continue to operate as it currently does. The primary change introduced by Deployment Pipelines is that each deployment is now associated with a pipeline run. By default, this corresponds to the default Deploy Pipeline, mirroring a direct deployment to an Environment. It's worth noting that this pipeline has been working behind the scenes for your deployments since last year, and with this release, we’re introducing a user interface for it.
While operating in this default mode, the main adjustment to grasp is largely conceptual: Instead of deployments being the main entity to orient towards in your workflow, you might now want to think in terms of “pipeline runs” that may or may not include one or more deployments to an Environment.Â
Change overview by interface
Looking at individual interfaces, the main changes to look out for are:
- UI: A new 'Pipelines' tab has been added to the Application screen, allowing you to manage and review your Application’s Deployment Pipelines. Each deployment is linked to a pipeline run, providing access to run information, including steps and enhanced logs which now include progress updates on Resource and Workload provisioning.
- API: A new Deployment Pipelines API has been introduced, allowing you to manage your Application’s Deployment Pipelines. Additionally, the existing Deployments API has been updated to include a pipeline property, referencing the pipeline facilitating a given deployment.
- CLI: Humctl does not yet offer native support for pipeline-specific functionality. We are actively exploring use cases for this. If you have any specific requirements or feedback, don't hesitate to reach out. In the meantime, you can utilize its api command to work directly with the Pipelines API.
The future of automation rules
While the automation rules feature remains available for usage, it's important to note that the feature is scheduled for deprecation in the future, since all functionalities will be covered by Deployment Pipelines. Our team is here to assist you with migrating your existing automation rules when you're ready.
How to get startedÂ
To get started, log in to your Humanitec account or request one if you don’t yet have one. And be sure to check out our helpful guide in our developer documentation.Â
We hope you enjoy exploring the new feature and if you have questions or need any help, please get in touch. Our team is always here to make sure you have the best experience. Â
‍