Software promotion is a common DevOps concept. In Apollo, Release Channel contributors add Product Releases to Environments using Release Channels. Products can be automatically or manually promoted to these channels once defined criteria are met. Environment editors then subscribe their Environment to a Release Channel to receive Product Releases according to their risk tolerance and feature appetite.
In Apollo, a Release promotion pipeline defines how Releases of your Product should be promoted from one Release Channel to another and the criteria that must be satisfied at each promotion stage. This enables automated, stable rollout of new Releases across your Environments.
In this task you will create a two-stage RELEASE → STABLE
pipeline and define basic promotion criteria. You will then subscribe your Environments to receive Product Release upgrades from one of these channels.
For information on Apollo's default Release Channels and how it uses Product version strings to determine a Release's default channel, read the following documentation entries:
STABLE
and enter a description, for example "Releases ready for production". Then select Next.Not configured
status in the Promotion pipeline block.RELEASE
for the source channel and STABLE
for the target channel. Then enter the following settings. You can hover over the field labels to learn more.
If you have connected more than one Environment, you can set one to receive Releases of a Product on RELEASE
and another to receive them on STABLE
. Before Apollo promotes the Release from RELEASE
to STABLE
, it will evaluate a Release according to the promotion evaluation requirements that you defined in the previous section.
If you connected a single Spoke Environment, use the directions below to subscribe it to the RELEASE
channel.
It is rare that an Apollo Hub will have only a single connected Environment. In these cases, there may not be a need for Release promotion pipeline because there would be no test environments for promotion evaluation.
Before continuing, note that you can set and change the default Release Channel for your Environment by:
All of the installations of Products in your Environment, called "Entities", will now receive Release upgrades from the default Release Channel. You can specify a different channel for and Entity is a Product is not available on the default channel or you want to encode a different risk tolerance for the installation.
If you have connected more than one Environment, you can follow the below steps to test your pipeline.
Environment 1
.RELEASE
; Environment 1
is already subscribed to receive Releases from the RELEASE
channel.Environment 2
. Locate your Product or Nginx in the Entities tab. The value in the CHANNEL column is likely to be RELEASE
, because that is the default channel for this Environment.
We will change the Release Channel for this Entity to STABLE
.RELEASE
to STABLE
and select Change channel.Environment 2
. You may need to refresh your browser. Confirm that the value in the CHANNEL column for your Product or Nginx is now STABLE
.Now you can watch your promotion pipeline in action. Create a new Release of the your Product or the Nginx Product using the steps you followed previously. Be sure to use lowercase for the Product and Helm chart names in the config.
You should also increment the version appropriately. For example, if your latest Release was 13.1.5
, set the new version to 13.1.6
. You can consult Artifact Hub for available Nginx Helm chart versions.
Apollo will automatically install the new Release on Environment 1
, because the Environment is subscribed to receive new versions of your Product on the RELEASE
channel. Apollo will promote the Release to the STABLE
channel and install the new version Environment 2
only after the Release has been evaluated on Environment 1
.
You can monitor promotion progress by opening the page for your new Release.
Note that each release stage indicates 1 total entity
, meaning one Environment is subscribed to each channel. After the configured one hour of successful soak time, the Release will automatically promote to STABLE
and only then will Apollo install the Release on Environment 2
.
You can repeat this process for any other Helm charts you may have added to the Product catalog.