The Release stage of the DevOps pipeline is focused on enabling zero-touch delivery of your software - taking the output of your builds and safely, automatically, and reliably moving your software through your path to production with no additional configuration. The stage aligns to two main industry categories: Continuous Delivery and Release Automation and Application Release Automation/Orchestration.
There are a few important ideas we are keeping as northern stars to guide us forward in this space. With each of these, we're focusing on more complete (truly minimally lovable) features. Iterations are how we build software, but at the same time we want to continue to curate those features that have proven their value, allowing them to grow into more complete, lovable features that exceed expectations.
Technologies like Heroku/PAS Buildpacks are leading the way in allowing for developers to focus on building code and letting the automation handle figuring out how to manage the deployment. Our vision is for CD to take over from your build system and predictably manage your delivery for you while remaining completely customizable to support any unique cases.
Delivering software to your environments automatically is the first step, but new technologies like Kubernetes are now allowing on-demand environments to be created in parallel with code deployments like never before. By enabling this on-demand infrastructure to understand the intentions of developers, you can enable a true one-click "deliver to my users" workflow.
Releasing in GitLab takes advantage of our deeply connected ecosystem to provide auditability all the way from planning through monitoring changes. Compliance and security evidence is gathered and validated at each step of the way, giving you confidence in what you're delivering in your release. Deployments are run from outside the build pipeline, ensuring a clear boundary between your developers and changes to your environments.
There are a few categories that are critical for success in this stage; each one is intended to represent what you might find as an entire product out in the market. If you have thoughts or questions on any of these, feel free to jump into the conversation in the vision epic.
Deliver your changes to production with zero-touch software delivery; focus on building great software and allow GitLab CD to bring your release through your path to production for you.
Learn more • Documentation • Vision
Management and orchestration of releases-as-code that supports intelligent notifications, scheduling of delivery and shared resources, blackout periods, relationships, parallelization, and sequencing, as well as support for integrating manual processes and interventions.
Feature flags enable teams to achieve CD by letting them deploy dark features to production as smaller batches for controlled testing, separating feature delivery from customer launch, and removing risk from delivery.
Documentation • Vision
Release Governance includes features such as deploy-time security controls to ensure only trusted container images are deployed on Kubernetes Engine, and more broadly includes all the assurances and evidence collection that are necessary for you to trust the changes you're delivering.
It's important to call out that the below plan can change any moment and should not be taken as a hard commitment, though we do try to keep things generally stable. In general, we follow the same prioritization guidelines as the product team at large. Issues will tend to flow from having no milestone, to being added to the backlog, to being added to this page and/or a specific milestone for delivery.
.gitlab-ci.yml, auto-configure GKE
There are a number of other issues that we've identified as being interesting that we are potentially thinking about, but do not currently have planned by setting a milestone for delivery. Some are good ideas we want to do, but don't yet know when; some we may never get around to, some may be replaced by another idea, and some are just waiting for that right spark of inspiration to turn them into something special.
Remember that at GitLab, everyone can contribute! This is one of our fundamental values and something we truly believe in, so if you have feedback on any of these items you're more than welcome to jump into the discussion. Our vision and product are truly something we build together!