CloudBees CD/RO includes the ability to use Argo Rollouts to provide advanced deployment capabilities to Kubernetes, such as:
-
Blue-green
-
Canary
-
Canary analysis
-
Experimentation
-
Progressive delivery features
For more information, refer to Model and deploy microservice applications.
Example: Canary deployment using advanced microservices strategies with Argo Rollouts
In this example, an application is deployed with two versions, using a canary strategy with Argo Rollouts and a manual step.
To deploy an application using a canary strategy with Argo Rollouts:
-
From the CloudBees CD/RO main menu, select
. The Applications list displays. -
Select New application. The New Application dialog displays.
-
Complete the fields, defining microservices for Helm. For more information, refer to Modeling and deploying microservice applications.
-
Create a release. For example,
Argo Test Release v0.1
. -
Select your application. The Application editor displays.
Figure 1. Application editor -
Select the three dots menu for the microservice, then select Details. The Edit microservice dialog opens.
-
Under Additional options update the
image.tag
with your new version. For example,0.2
. -
Select Save changes.
-
Navigate back to the Argo test release.
-
Select Run pipeline. The New run dialog opens.
-
Select Run. The Pipeline runs view displays the pipeline run deployment status.
For advanced deployment strategies with Argo Rollouts, the summary includes the type of Deployment strategy.
Figure 2. Task summary in a pipeline run manual approval requiredIn this example, the pipeline is paused and waiting for manual approval. Default rollout options allow you to set the default assigned approvers and turn on/off email notifications if you configure rollout deployments with manual approvals.
If approvers are not specified, the user who launched the deployment is auto-assigned as the approver and must approve the task. You can overwrite the default values during process runs, in pipeline tasks, or in the release deployer configuration. For more information, refer to Define rollout parameters. -
Select the link in task to open the Steps view, which includes process run details.
Figure 3. Canary deployment process run details -
Navigate to Environment inventory, and expand the application and microservice details to view the In progress details. The Version column displays v0.1 and v0.2, with an icon denoting the canary deployment.
Figure 4. Environment inventory with two versionsFor more information, refer to Environment inventory.
You can also view the two versions on the Path to production tab for the release. For more information, refer to Path to production view.
-
Navigate back to the Pipeline runs tab for the release, and approve the task.
Your canary deployment using advanced microservices strategies with Argo Rollouts is complete.
Define rollout parameters
Default rollout options allow you to set the default assigned approvers and turn on/off email notifications if you configure rollout deployments with manual approvals. You can define rollout parameters when you start a microservice application process, in a pipeline task application type, or as part of your release configuration.
Define rollout parameters when you start a microservice application process
CloudBees CD/RO allows you to pass actual parameters for ec_rolloutApprovers
and ec_rolloutNotificationEnabled
when you start a microservice application process. When you select Deploy to run a microservice application deploy process, you can provide values for the process parameters. CloudBees CD/RO stores values you pass in the job processes, and the values are available for the plugin.
To define rollout parameters when you start a microservice application process:
-
From the CloudBees CD/RO main menu, select
. The Applications list displays. -
Select your application. The Application editor displays.
-
Select Deploy.
-
Select the process from the Select process list.
-
Select the environment form the Select environment list.
-
Select Parameters . The Rollout parameters dialog opens.
Figure 5. Define rollout parameters -
Define your approvers.
-
(Optional) Turn on notifications.
-
Select OK.
-
Repeat the steps above for all applicable process runs.
Define rollout parameters in a pipeline task
When you create or modify an Application process for a pipeline with a microservice process, you can specify rolloutApprovers
and rolloutNotificationEnabled
rollout parameters.
The rolloutApprovers
rollout parameter is similar to manual task approvers. Options include Users, Groups, and Property reference.
If approvers are not specified, the user who launched the deployment is auto-assigned as the approver and must approve the task. You can overwrite the default values during process runs, in pipeline tasks, or in the release deployer configuration. For more information, refer to Define rollout parameters. |
You can define rollout parameters for Deploy Application tasks.
To define rollout parameters in a pipeline Deploy Application task:
-
From the CloudBees CD/RO main menu, select
. The Releases list opens. -
Select your release. The Release editor opens.
-
Select the applicable task in the stage. The Edit Task dialog opens.
Figure 6. Select Input Parameters -
For Input Parameters, select . The Parameters dialog opens.
Figure 7. Define Application process rollout parameters -
Enter the Rollout parameters.
-
(Optional) Turn on notifications.
-
Select OK. The Edit Task dialog opens.
-
Select OK.
To pass new values, you can use modifyTask with rolloutApprovers and rolloutNotificationEnabled arguments. To clean up rolloutApprovers , you can use clearActuals=true or provide a new argument.
|
Define rollout parameters in your release configuration
You can configure values for ec_rolloutApprovers
and ec_rolloutNotificationEnabled
for the same microservice application for different stages in a release.
To define rollout parameters in a pipeline Deployer task:
-
From the CloudBees CD/RO main menu, select
. The Releases list opens. -
Select your release. The Release editor opens.
-
Select Envs & Configs. The Environments and Configurations dialog opens.
Figure 8. Environments and Configurations -
Select your application or stage(s).
-
Select Parameters. The Configurations dialog opens.
Figure 9. Environments and ConfigurationsYou can set rollout parameters for each stage and application in the release. -
Enter the Rollout parameters.
-
(Optional) Turn on notifications.
-
Select OK. The Environments and Configurations dialog opens.
-
Select OK.
Update rollout parameters for an existing microservice application process
You can update rollout parameters for an existing microservice application process from the Application editor.
To update rollout parameters for an existing microservice application process:
-
From the CloudBees CD/RO main menu, select
. The Applications list displays. -
Select your application. The Application editor displays.
-
Select the process link for the application. The process definition dialog opens.
-
Select the process link, then select Details. The Edit Application process: Deploy application dialog opens.
Figure 10. Update default rollout options -
For Default rollout options, select Edit . The Default rollout options dialog opens.
-
Enter your default Rollout approvers.
-
(Optional) Turn on notifications.
-
Select OK. The Edit Application process: Deploy application dialog opens.
-
Select OK.
When you run the application process, the default Rollout approvers display in the dialog. You can add additional approvers or remove approvers as necessary.