Skip to content

Commit 29ad70f

Browse files
authored
Merge pull request #208171 from ramiMSFT/pipelines/1973068
Rolling deployments
2 parents 5bde3a9 + d1a3183 commit 29ad70f

File tree

1 file changed

+34
-55
lines changed

1 file changed

+34
-55
lines changed
Lines changed: 34 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,77 @@
11
---
2-
title: Tutorial - Configure rolling deployments for Azure Linux virtual machines
3-
description: In this tutorial, you learn how to set up a continuous deployment (CD) pipeline. This pipeline incrementally updates a group of Azure Linux virtual machines using the rolling deployment strategy.
2+
title: Configure rolling deployments for Azure Linux virtual machines
3+
description: Learn how to set up a classic release pipeline and deploy your application to Linux virtual machines using the rolling deployment strategy.
44
author: moala
55
manager: jpconnock
66
tags: azure-devops-pipelines
7-
8-
ms.assetid:
97
ms.service: virtual-machines
108
ms.collection: linux
119
ms.topic: tutorial
1210
ms.tgt_pltfrm: azure-pipelines
1311
ms.workload: infrastructure
14-
ms.date: 4/10/2020
12+
ms.date: 08/15/2022
1513
ms.author: moala
1614
ms.custom: devops
17-
18-
#Customer intent: As a developer, I want to learn about CI/CD features in Azure so that I can use Azure DevOps services like Azure Pipelines to build and deploy my applications automatically.
1915
---
2016

21-
# Tutorial - Configure the rolling deployment strategy for Azure Linux virtual machines
17+
# Configure the rolling deployment strategy for Azure Linux virtual machines
2218

2319
**Applies to:** :heavy_check_mark: Linux VMs
2420

25-
Azure DevOps is a built-in Azure service that automates each part of the DevOps process for any Azure resource. Whether your app uses virtual machines, web apps, Kubernetes, or any other resource, you can implement infrastructure as code (IaC), continuous integration, continuous testing, continuous delivery, and continuous monitoring with Azure and Azure DevOps.
26-
27-
![The Azure portal with Azure DevOps selected under Services](media/tutorial-devops-azure-pipelines-classic/azdevops-view.png)
21+
Azure Pipelines provides a fully featured set of CI/CD automation tools for deployments to virtual machines. This article will show you how to set up a classic release pipeline that uses the rolling strategy to deploy your web applications to Linux virtual machines.
2822

29-
## Infrastructure as a service (IaaS) - Configure CI/CD
23+
## Rolling deployments
3024

31-
Azure Pipelines provides a fully featured set of CI/CD automation tools for deployments to virtual machines. You can configure a continuous-delivery pipeline for an Azure VM from the Azure portal.
32-
33-
This article shows how to set up a CI/CD pipeline for rolling multimachine deployments from the Azure portal. The Azure portal also supports other strategies like [canary](./tutorial-azure-devops-canary-strategy.md) and [blue-green](./tutorial-azure-devops-blue-green-strategy.md).
25+
In each iteration, a rolling deployment replaces instances of an application's previous version. It replaces them with instances of the new version on a fixed set of machines (rolling set). The following walk-through shows how to configure a rolling update to virtual machines.
3426

35-
### Configure CI/CD on virtual machines
27+
Using **Continuous-delivery**, you can configure rolling updates to your virtual machines within the Azure portal.
3628

37-
You can add virtual machines as targets to a [deployment group](/azure/devops/pipelines/release/deployment-groups). You can then target them for multimachine updates. After you deploy to machines, view **Deployment History** within a deployment group. This view lets you trace from VM to the pipeline and then to the commit.
29+
1. Sign in to [Azure portal](https://portal.azure.com/) and navigate to a virtual machine.
3830

39-
### Rolling deployments
31+
1. Select **Continuous delivery**, and then select **Configure**.
4032

41-
In each iteration, a rolling deployment replaces instances of an application's previous version. It replaces them with instances of the new version on a fixed set of machines (rolling set). The following walk-through shows how to configure a rolling update to virtual machines.
33+
:::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-configure.png" alt-text="A screenshot showing the continuous delivery settings.":::
4234

43-
Using the continuous-delivery option, you can configure rolling updates to your virtual machines within the Azure portal. Here is the step-by-step walk-through:
35+
1. Select your **Azure DevOps Organization** and your **Project** from the dropdown menu or **Create** a new one.
4436

45-
1. Sign in to the Azure portal and navigate to a virtual machine.
46-
1. In the leftmost pane of the VM settings, select **Continuous delivery**. Then select **Configure**.
37+
1. Select your **Deployment group** from the dropdown menu or **Create** a new one.
4738

48-
![The Continuous delivery pane with the Configure button](media/tutorial-devops-azure-pipelines-classic/azure-devops-configure.png)
39+
1. Select your **Build pipeline**.
4940

50-
1. In the configuration panel, select **Azure DevOps Organization** to choose an existing account or create a new one. Then select the project under which you want to configure the pipeline.
41+
1. Select **Deployment strategy**, and then select **Rolling**.
5142

52-
![The Continuous delivery panel](media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling.png)
43+
:::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling.png" alt-text="A screenshot showing how to configure a rolling deployment strategy.":::
5344

54-
1. A deployment group is a logical set of deployment target machines that represent the physical environments. Dev, Test, UAT, and Production are examples. You can create a new deployment group or select an existing one.
55-
1. Select the build pipeline that publishes the package to be deployed to the virtual machine. The published package should have a deployment script named deploy.ps1 or deploy.sh in the deployscripts folder in the package's root folder. The pipeline runs this deployment script.
56-
1. In **Deployment strategy**, select **Rolling**.
57-
1. Optionally, you can tag each machine with its role. The tags "web" and "db" are examples. These tags help you target only VMs that have a specific role.
58-
1. Select **OK** to configure the continuous-delivery pipeline.
59-
1. After configuration finishes, you have a continuous-delivery pipeline configured to deploy to the virtual machine.
45+
1. Optionally, you can tag each machine with its role such as *web* or *db*. These tags help you target only VMs that have a specific role.
6046

61-
![The Continuous delivery panel showing Deployment history](media/tutorial-devops-azure-pipelines-classic/azure-devops-deployment-history.png)
47+
1. Select **OK** to configure the continuous delivery pipeline.
6248

63-
1. The deployment details for the virtual machine are displayed. You can select the link to go to the pipeline, **Release-1** to view the deployment, or **Edit** to modify the release-pipeline definition.
49+
1. After completion, your continuous delivery pipeline should look similar to the following.
6450

65-
1. If you're configuring multiple VMs, repeat steps 2 through 4 for other VMs to add to the deployment group. If you select a deployment group that already has a pipeline run, the VMs are just added to the deployment group. No new pipelines are created.
66-
1. After configuration is done, select the pipeline definition, navigate to the Azure DevOps organization, and select **Edit** for the release pipeline.
51+
:::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-deployment-history.png" alt-text="A screenshot showing the continuous delivery pipeline.":::
6752

68-
![Editing the rolling pipeline](media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling-pipeline.png)
53+
1. If you want to configure multiple VMs, repeat steps 2 through 4 for the other VMs. If you use the same deployment group that already has a configured pipeline, the new VMs will just be added to the deployment group and no new pipelines will be created.
6954

70-
1. Select **1 job, 1 task** in the **dev** stage. Select the **Deploy** phase.
55+
1. Select the link to navigate to your pipeline, and then select**Edit** to modify the pipeline definition.
7156

72-
![Rolling pipeline tasks with the Deploy task selected](media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling-pipeline-tasks.png)
57+
:::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling-pipeline.png" alt-text="A screenshot showing the pipeline definition.":::
7358

74-
1. From the rightmost configuration pane, you can specify the number of machines that you want to deploy in parallel in each iteration. If you want to deploy to multiple machines at a time, you can specify the number of machines as a percentage by using the slider.
59+
1. Select the tasks in the **dev** stage to navigate to the pipeline tasks, and then select **Deploy**.
7560

76-
1. The Execute Deploy Script task by default executes the deployment script deploy.ps1 or deploy.sh. The script is in the deployscripts folder in the root folder of the published package.
61+
:::image type="content" source="media/tutorial-devops-azure-pipelines-classic/azure-devops-rolling-pipeline-tasks.png" alt-text="A screenshot showing the pipeline tasks.":::
7762

78-
![The Artifacts pane showing deploy.sh in the deployscripts folder](media/tutorial-deployment-strategy/package.png)
63+
1. You can specify the number of target machines to deploy to in parallel in each iteration. If you want to deploy to multiple machines, you can specify the number of machines as a percentage by using the slider.
7964

80-
## Other deployment strategies
65+
1. The **Execute Deploy Script** task will execute the deployment script located in the root folder of the published artifacts.
8166

82-
- [Configure the canary deployment strategy](./tutorial-azure-devops-canary-strategy.md)
83-
- [Configure the blue-green deployment strategy](./tutorial-azure-devops-blue-green-strategy.md)
67+
:::image type="content" source="media/tutorial-deployment-strategy/package.png" alt-text="A screenshot showing the published artifacts.":::
8468

85-
## Azure DevOps Projects
69+
## Resources
8670

87-
You can get started with Azure easily. With Azure DevOps Projects, start running your application on any Azure service in just three steps by selecting:
71+
- [Deploy to Azure virtual machines with Azure DevOps](../../devops-project/azure-devops-project-vms.md)
72+
- [Deploy to Azure virtual machine scale set](/azure/devops/pipelines/apps/cd/azure/deploy-azure-scaleset.md)
8873

89-
- An application language
90-
- A runtime
91-
- An Azure service
92-
93-
[Learn more](https://azure.microsoft.com/features/devops-projects/).
94-
95-
## Additional resources
74+
## Related articles
9675

97-
- [Deploy to Azure virtual machines by using Azure DevOps Projects](../../devops-project/azure-devops-project-vms.md)
98-
- [Implement continuous deployment of your app to an Azure virtual machine scale set](/azure/devops/pipelines/apps/cd/azure/deploy-azure-scaleset)
76+
- [Configure the canary deployment strategy](./tutorial-azure-devops-canary-strategy.md)
77+
- [Configure the blue-green deployment strategy](./tutorial-azure-devops-blue-green-strategy.md)

0 commit comments

Comments
 (0)