Skip to content

Commit f0bd94b

Browse files
Merge pull request #259764 from KimForss/main
Update DevOps manual setup
2 parents 8c1b6e3 + 7c04087 commit f0bd94b

File tree

1 file changed

+33
-27
lines changed

1 file changed

+33
-27
lines changed

articles/sap/automation/configure-devops.md

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,11 @@ Record the URL of the project.
156156

157157
### Import the repository
158158

159-
Start by importing the SAP Deployment Automation Framework GitHub repository into Azure Repos.
159+
Start by importing the SAP Deployment Automation Framework Bootstrap GitHub repository into Azure Repos.
160160

161161
Go to the **Repositories** section and select **Import a repository**. Import the `https://github.com/Azure/sap-automation-bootstrap.git` repository into Azure DevOps. For more information, see [Import a repository](/azure/devops/repos/git/import-git-repository?view=azure-devops&preserve-view=true).
162162

163-
If you're unable to import a repository, you can create the repository manually. Then you can import the content from the SAP Deployment Automation Framework GitHub repository to it.
163+
If you're unable to import a repository, you can create the repository manually. Then you can import the content from the SAP Deployment Automation Framework GitHub Bootstrap repository to it.
164164

165165
### Create the repository for manual import
166166

@@ -188,7 +188,7 @@ Copy the content from the .zip file to the root folder of your local clone.
188188

189189
Open the local folder in Visual Studio Code. You should see that changes need to be synchronized by the indicator by the source control icon shown here.
190190

191-
:::image type="content" source="./media/devops/automation-vscode-changes.png" alt-text="Screenshot that shows that source code has changed.":::
191+
:::image type="content" source="./media/devops/automation-vscode-changes.png" alt-text="Screenshot that shows that source code is changed.":::
192192

193193
Select the source control icon and provide a message about the change. For example, enter **Import from GitHub** and select Ctrl+Enter to commit the changes. Next, select **Sync Changes** to synchronize the changes back to the repository.
194194

@@ -200,6 +200,7 @@ You can either run the SAP Deployment Automation Framework code directly from Gi
200200

201201
If you want to run the SAP Deployment Automation Framework code from the local Azure DevOps project, you need to create a separate code repository and a configuration repository in the Azure DevOps project:
202202

203+
- **Name of configuration repository**: `Same as the DevOps Project name`. Source is `https://github.com/Azure/sap-automation-bootstrap.git`.
203204
- **Name of code repository**: `sap-automation`. Source is `https://github.com/Azure/sap-automation.git`.
204205
- **Name of sample and template repository**: `sap-samples`. Source is `https://github.com/Azure/sap-automation-samples.git`.
205206

@@ -260,18 +261,19 @@ del manifest.json
260261

261262
Save the app registration ID and password values for later use.
262263

263-
## Create Azure pipelines
264+
## Create Azure Pipelines
264265

265-
Azure pipelines are implemented as YAML files. They're stored in the *deploy/pipelines* folder in the repository.
266+
Azure Pipelines are implemented as YAML files. They're stored in the *deploy/pipelines* folder in the repository.
266267

267268
## Control plane deployment pipeline
268269

269270
Create the control plane deployment pipeline. Under the **Pipelines** section, select **New Pipeline**. Select **Azure Repos Git** as the source for your code. Configure your pipeline to use an existing Azure Pipelines YAML file. Specify the pipeline with the following settings:
270271

271272
| Setting | Value |
272273
| ------- | ----------------------------------------------- |
274+
| Repo | "Root repo" (same as project name) |
273275
| Branch | main |
274-
| Path | `deploy/pipelines/01-deploy-control-plane.yml` |
276+
| Path | `pipelines/01-deploy-control-plane.yml` |
275277
| Name | Control plane deployment |
276278

277279
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **Control plane deployment**.
@@ -282,8 +284,9 @@ Create the SAP workload zone pipeline. Under the **Pipelines** section, select *
282284

283285
| Setting | Value |
284286
| ------- | -------------------------------------------- |
287+
| Repo | "Root repo" (same as project name) |
285288
| Branch | main |
286-
| Path | `deploy/pipelines/02-sap-workload-zone.yml` |
289+
| Path | `pipelines/02-sap-workload-zone.yml` |
287290
| Name | SAP workload zone deployment |
288291

289292
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **SAP workload zone deployment**.
@@ -294,8 +297,9 @@ Create the SAP system deployment pipeline. Under the **Pipelines** section, sele
294297

295298
| Setting | Value |
296299
| ------- | ------------------------------------------------ |
300+
| Repo | "Root repo" (same as project name) |
297301
| Branch | main |
298-
| Path | `deploy/pipelines/03-sap-system-deployment.yml` |
302+
| Path | `pipelines/03-sap-system-deployment.yml` |
299303
| Name | SAP system deployment (infrastructure) |
300304

301305
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **SAP system deployment (infrastructure)**.
@@ -306,6 +310,7 @@ Create the SAP software acquisition pipeline. Under the **Pipelines** section, s
306310

307311
| Setting | Value |
308312
| ------- | ------------------------------------------------ |
313+
| Repo | "Root repo" (same as project name) |
309314
| Branch | main |
310315
| Path | `deploy/pipelines/04-sap-software-download.yml` |
311316
| Name | SAP software acquisition |
@@ -318,8 +323,9 @@ Create the SAP configuration and software installation pipeline. Under the **Pip
318323

319324
| Setting | Value |
320325
| ------- | -------------------------------------------------- |
326+
| Repo | "Root repo" (same as project name) |
321327
| Branch | main |
322-
| Path | `deploy/pipelines/05-DB-and-SAP-installation.yml` |
328+
| Path | `pipelines/05-DB-and-SAP-installation.yml` |
323329
| Name | Configuration and SAP installation |
324330

325331
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **SAP configuration and software installation**.
@@ -330,8 +336,9 @@ Create the deployment removal pipeline. Under the **Pipelines** section, select
330336

331337
| Setting | Value |
332338
| ------- | -------------------------------------------- |
339+
| Repo | "Root repo" (same as project name) |
333340
| Branch | main |
334-
| Path | `deploy/pipelines/10-remover-terraform.yml` |
341+
| Path | `pipelines/10-remover-terraform.yml` |
335342
| Name | Deployment removal |
336343

337344
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **Deployment removal**.
@@ -342,8 +349,9 @@ Create the control plane deployment removal pipeline. Under the **Pipelines** se
342349

343350
| Setting | Value |
344351
| ------- | ----------------------------------------------- |
352+
| Repo | "Root repo" (same as project name) |
345353
| Branch | main |
346-
| Path | `deploy/pipelines/12-remove-control-plane.yml` |
354+
| Path | `pipelines/12-remove-control-plane.yml` |
347355
| Name | Control plane removal |
348356

349357
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **Control plane removal**.
@@ -354,9 +362,10 @@ Create the deployment removal Azure Resource Manager pipeline. Under the **Pipel
354362

355363
| Setting | Value |
356364
| ------- | ----------------------------------------------- |
365+
| Repo | "Root repo" (same as project name) |
357366
| Branch | main |
358-
| Path | `deploy/pipelines/11-remover-arm-fallback.yml` |
359-
| Name | Deployment removal using ARM processor |
367+
| Path | `pipelines/11-remover-arm-fallback.yml` |
368+
| Name | Deployment removal using Azure Resource Manager |
360369

361370
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **Deployment removal using ARM processor**.
362371

@@ -369,18 +378,15 @@ Create the repository updater pipeline. Under the **Pipelines** section, select
369378

370379
| Setting | Value |
371380
| ------- | ----------------------------------------------- |
381+
| Repo | "Root repo" (same as project name) |
372382
| Branch | main |
373-
| Path | `deploy/pipelines/20-update-ado-repository.yml` |
383+
| Path | `pipelines/20-update-ado-repository.yml` |
374384
| Name | Repository updater |
375385

376386
Save the pipeline. To see **Save**, select the chevron next to **Run**. Go to the **Pipelines** section and select the pipeline. Choose **Rename/Move** from the ellipsis menu on the right and rename the pipeline as **Repository updater**.
377387

378388
This pipeline should be used when there's an update in the sap-automation repository that you want to use.
379389

380-
## Import the Ansible task from Visual Studio Marketplace
381-
382-
The pipelines use a custom task to run Ansible. You can install the custom task from [Ansible](https://marketplace.visualstudio.com/items?itemName=ms-vscs-rm.vss-services-ansible). Install it to your Azure DevOps organization before you run the **Configuration and SAP installation** or **SAP software acquisition** pipelines.
383-
384390
## Import the cleanup task from Visual Studio Marketplace
385391

386392
The pipelines use a custom task to perform cleanup activities post deployment. You can install the custom task from [Post Build Cleanup](https://marketplace.visualstudio.com/items?itemName=mspremier.PostBuildCleanup). Install it to your Azure DevOps organization before you run the pipelines.
@@ -422,7 +428,7 @@ Create a new variable group named `SDAF-General` by using the **Library** page i
422428
| Branch | main | |
423429
| S-Username | `<SAP Support user account name>` | |
424430
| S-Password | `<SAP Support user password>` | Change the variable type to secret by selecting the lock icon. |
425-
| `tf_version` | 1.3.0 | The Terraform version to use. See [Terraform download](https://www.terraform.io/downloads). |
431+
| `tf_version` | 1.6.0 | The Terraform version to use. See [Terraform download](https://www.terraform.io/downloads). |
426432

427433
Save the variables.
428434

@@ -449,11 +455,11 @@ Create a new variable group named `SDAF-MGMT` for the control plane environment
449455
| Variable | Value | Notes |
450456
| ------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------- |
451457
| Agent | `Azure Pipelines` or the name of the agent pool | This pool is created in a later step. |
452-
| CP_ARM_CLIENT_ID | `Service principal application ID` | |
453-
| CP_ARM_OBJECT_ID | `Service principal object ID` | |
454-
| CP_ARM_CLIENT_SECRET | `Service principal password` | Change the variable type to secret by selecting the lock icon. |
455-
| CP_ARM_SUBSCRIPTION_ID | `Target subscription ID` | |
456-
| CP_ARM_TENANT_ID | `Tenant ID` for the service principal | |
458+
| CP_ARM_CLIENT_ID | `Service principal application ID` | |
459+
| CP_ARM_OBJECT_ID | `Service principal object ID` | |
460+
| CP_ARM_CLIENT_SECRET | `Service principal password` | Change the variable type to secret by selecting the lock icon. |
461+
| CP_ARM_SUBSCRIPTION_ID | `Target subscription ID` | |
462+
| CP_ARM_TENANT_ID | `Tenant ID` for the service principal | |
457463
| AZURE_CONNECTION_NAME | Previously created connection name | |
458464
| sap_fqdn | SAP fully qualified domain name, for example, `sap.contoso.net` | Only needed if Private DNS isn't used. |
459465
| FENCING_SPN_ID | `Service principal application ID` for the fencing agent | Required for highly available deployments that use a service principal for the fencing agent. |
@@ -491,7 +497,7 @@ Enter a **Service connection name**, for instance, use `Connection to MGMT subsc
491497

492498
## Permissions
493499

494-
Most of the pipelines add files to the Azure repos and therefore require pull permissions. On **Project Settings**, under the **Repositories** section, select the **Security** tab of the source code repository and assign Contribute permissions to the `Build Service`.
500+
Most of the pipelines add files to the Azure Repos and therefore require pull permissions. On **Project Settings**, under the **Repositories** section, select the **Security** tab of the source code repository and assign Contribute permissions to the `Build Service`.
495501

496502
:::image type="content" source="./media/devops/automation-repo-permissions.png" alt-text="Screenshot that shows repository permissions.":::
497503

@@ -557,7 +563,7 @@ Selecting the `deploy the web app infrastructure` parameter when you run the con
557563

558564
Wait for the deployment to finish. Select the **Extensions** tab and follow the instructions to finalize the configuration. Update the `reply-url` values for the app registration.
559565

560-
As a result of running the control plane pipeline, part of the web app URL that's needed is stored in a variable named `WEBAPP_URL_BASE` in your environment-specific variable group. At any time, you can update the URLs of the registered application web app by using the following command.
566+
As a result of running the control plane pipeline, part of the web app URL that is needed is stored in a variable named `WEBAPP_URL_BASE` in your environment-specific variable group. At any time, you can update the URLs of the registered application web app by using the following command.
561567

562568
# [Linux](#tab/linux)
563569

@@ -573,7 +579,7 @@ $webapp_url_base="<WEBAPP_URL_BASE>"
573579
az ad app update --id $TF_VAR_app_registration_app_id --web-home-page-url https://${webapp_url_base}.azurewebsites.net --web-redirect-uris https://${webapp_url_base}.azurewebsites.net/ https://${webapp_url_base}.azurewebsites.net/.auth/login/aad/callback
574580
```
575581
---
576-
You also need to grant reader permissions to the app service system-assigned managed identity. Go to the app service resource. On the left side, select **Identity**. On the **System assigned** tab, select **Azure role assignments** > **Add role assignment**. Select **Subscription** as the scope and **Reader** as the role. Then select **Save**. Without this step, the web app dropdown functionality won't work.
582+
You also need to grant reader permissions to the app service system-assigned managed identity. Go to the app service resource. On the left side, select **Identity**. On the **System assigned** tab, select **Azure role assignments** > **Add role assignment**. Select **Subscription** as the scope and **Reader** as the role. Then select **Save**. Without this step, the web app dropdown functionality will not work.
577583

578584
You should now be able to visit the web app and use it to deploy SAP workload zones and SAP system infrastructure.
579585

0 commit comments

Comments
 (0)