You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 21, 2026. It is now read-only.
Copy file name to clipboardExpand all lines: Instructions/Labs/AZ400_M04_L11_Enable_Dynamic_Configuration_and_Feature_Flags.md
+5-82Lines changed: 5 additions & 82 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ After you complete this lab, you will be able to:
31
31
32
32
## Instructions
33
33
34
-
### Exercise 0: Configure the lab prerequisites
34
+
### Exercise 0: (skip if done) Configure the lab prerequisites
35
35
36
36
In this exercise, you will set up the prerequisites for the lab, which consist of a new Azure DevOps project with a repository based on the [eShopOnWeb](https://github.com/MicrosoftLearning/eShopOnWeb).
37
37
@@ -62,7 +62,7 @@ In this task you will import the eShopOnWeb Git repository that will be used by
62
62
63
63
### Exercise 1: (skip if done) Import and run CI/CD Pipelines
64
64
65
-
In this exercise, you will import and run the CI pipeline, configure the service connection with your Azure Subscription and then import and run the CD pipeline.
65
+
In this exercise, you will import CI/CD pipelines to build and deploy the eShopOnWeb application. The CI pipeline is already prepared to build the application and run tests. The CD pipeline will deploy the application to an Azure Web App.
66
66
67
67
#### Task 1: Import and run the CI pipeline
68
68
@@ -77,60 +77,7 @@ Let's start by importing the CI pipeline named [eshoponweb-ci.yml](https://githu
77
77
1. Click the **Run** button to run the pipeline.
78
78
1. Your pipeline will take a name based on the project name. Let's **rename** it for identifying the pipeline better. Go to **Pipelines > Pipelines** and click on the recently created pipeline. Click on the ellipsis and **Rename/Remove** option. Name it **eshoponweb-ci** and click on **Save**.
79
79
80
-
#### Task 2: Manage the service connection
81
-
82
-
You can create a connection from Azure Pipelines to external and remote services for executing tasks in a job.
83
-
84
-
In this task, you will create a service principal by using the Azure CLI, which will allow Azure DevOps to:
85
-
86
-
- Deploy resources on your azure subscription
87
-
- Deploy the eShopOnWeb application
88
-
89
-
> **Note**: If you do already have a service principal, you can proceed directly to the next task.
90
-
91
-
You will need a service principal to deploy Azure resources from Azure Pipelines.
92
-
93
-
A service principal is automatically created by Azure Pipeline when you connect to an Azure subscription from inside a pipeline definition or when you create a new service connection from the project settings page (automatic option). You can also manually create the service principal from the portal or using Azure CLI and re-use it across projects.
94
-
95
-
1. From the lab computer, start a web browser, navigate to the [**Azure Portal**](https://portal.azure.com), and sign in with the user account that has the Owner role in the Azure subscription you will be using in this lab and has the role of the Global Administrator in the Microsoft Entra tenant associated with this subscription.
96
-
1. In the Azure portal, click on the **Cloud Shell** icon, located directly to the right of the search textbox at the top of the page.
97
-
1. If prompted to select either **Bash** or **PowerShell**, select **Bash**.
98
-
99
-
> **Note**: If this is the first time you are starting **Cloud Shell** and you are presented with the **You have no storage mounted** message, select the subscription you are using in this lab, and select **Create storage**.
100
-
101
-
1. From the **Bash** prompt, in the **Cloud Shell** pane, run the following commands to retrieve the values of the Azure subscription ID attribute:
102
-
103
-
```sh
104
-
subscriptionName=$(az account show --query name --output tsv)
105
-
subscriptionId=$(az account show --query id --output tsv)
106
-
echo$subscriptionName
107
-
echo$subscriptionId
108
-
```
109
-
110
-
>**Note**: Copy both values to a text file. You will need them later in this lab.
111
-
112
-
1. From the **Bash** prompt, in the **Cloud Shell** pane, run the following command to create a service principal:
113
-
114
-
```sh
115
-
az ad sp create-for-rbac --name sp-az400-azdo --role contributor --scopes /subscriptions/$subscriptionId
116
-
```
117
-
118
-
>**Note**: The command will generate a JSON output. Copy the output to text file. You will need it later in this lab.
119
-
120
-
1. Next, from the lab computer, start a web browser, navigate to the Azure DevOps **eShopOnWeb** project. Click on **Project Settings > Service Connections (under Pipelines)** and **New Service Connection**.
121
-
122
-
1. On the **New service connection** blade, select**Azure Resource Manager** and **Next** (may need to scroll down).
123
-
124
-
1. The choose **Service principal (manual)** and click on **Next**.
125
-
126
-
1. Fill in the empty fields using the information gathered during previous steps:
127
-
- Subscription Id and Name
128
-
- Service Principal Id (or clientId), Key (or Password) and TenantId.
129
-
- In **Service connection name**type**`azure subs`**. This name will be referenced in YAML pipelines when needing an Azure DevOps Service Connection to communicate with your Azure subscription.
130
-
131
-
1. Click on **Verify and Save**.
132
-
133
-
#### Task 3: Import and run the CD pipeline
80
+
#### Task 2: Import and run the CD pipeline
134
81
135
82
Let's import the CD pipeline named [eshoponweb-cd-webapp-code.yml](https://github.com/MicrosoftLearning/eShopOnWeb/blob/main/.ado/eshoponweb-cd-webapp-code.yml).
136
83
@@ -229,32 +176,8 @@ Let's continue to test the Feature manager.
229
176
1. You should see an image with text "ALL T-SHIRTS ON SALE THIS WEEKEND".
230
177
1. You can disable this feature in App Configuration and then you would see that the image disappears.
231
178
232
-
Congratulations! In this task, you tested the **Feature manager** in Azure App Configuration.
233
-
234
-
### Exercise 3: Remove the Azure lab resources
235
-
236
-
In this exercise, you will remove the Azure resources provisioned in this lab to eliminate unexpected charges.
237
-
238
-
> **Note**: Remember to remove any newly created Azure resources that you no longer use. Removing unused resources ensures you will not see unexpected charges.
239
-
240
-
#### Task 1: Remove the Azure lab resources
241
-
242
-
In this task, you will use Azure Cloud Shell to remove the Azure resources provisioned in this lab to eliminate unnecessary charges.
243
-
244
-
1. In the Azure portal, open the **Bash** shell session within the **Cloud Shell** pane.
245
-
1. List all resource groups created throughout the labs of this module by running the following command:
246
-
247
-
```sh
248
-
az group list --query "[?starts_with(name,'AZ400-EWebShop-')].name" --output tsv
249
-
```
250
-
251
-
1. Delete all resource groups you created throughout the labs of this module by running the following command:
252
-
253
-
```sh
254
-
az group list --query "[?starts_with(name,'AZ400-EWebShop-')].[name]" --output tsv | xargs -L1 bash -c 'az group delete --name $0 --no-wait --yes'
255
-
```
256
-
257
-
> **Note**: The command executes asynchronously (as determined by the --nowait parameter), so while you will be able to run another Azure CLI command immediately afterwards within the same Bash session, it will take a few minutes before the resource groups are actually removed.
179
+
> [!IMPORTANT]
180
+
> Remember to delete the resources created in the Azure portal to avoid unnecessary charges.
0 commit comments