Skip to content

Commit 726de6b

Browse files
Merge pull request #211711 from KimForss/main
Updated a typo
2 parents 1e6432a + c19e811 commit 726de6b

File tree

1 file changed

+34
-33
lines changed

1 file changed

+34
-33
lines changed

articles/virtual-machines/workloads/sap/automation-configure-devops.md

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,43 @@ ms.service: virtual-machines-sap
1212
# Use SAP Deployment Automation Framework from Azure DevOps Services
1313

1414
Using Azure DevOps will streamline the deployment process by providing pipelines that can be executed to perform both the infrastructure deployment and the configuration and SAP installation activities.
15-
You can use Azure Repos to store your configuration files and Azure Pipelines to deploy and configure the infrastructure and the SAP application.
15+
You can use Azure Repos to store your configuration files and Azure Pipelines to deploy and configure the infrastructure and the SAP application.
1616

1717
## Sign up for Azure DevOps Services
1818

19-
To use Azure DevOps Services, you'll need an Azure DevOps organization. An organization is used to connect groups of related projects. Use your work or school account to automatically connect your organization to your Azure Active Directory (Azure AD). To create an account, open [Azure DevOps](https://azure.microsoft.com/services/devops/) and either _sign-in_ or create a new account.
19+
To use Azure DevOps Services, you'll need an Azure DevOps organization. An organization is used to connect groups of related projects. Use your work or school account to automatically connect your organization to your Azure Active Directory (Azure AD). To create an account, open [Azure DevOps](https://azure.microsoft.com/services/devops/) and either _sign-in_ or create a new account.
2020

2121
## Configure Azure DevOps Services for the SAP Deployment Automation Framework
2222

2323
You can use the following script to do a basic installation of Azure Devops Services for the SAP Deployment Automation Framework.
2424

25-
Login to Azure Cloud Shell
25+
Log in to Azure Cloud Shell
2626
```bash
27-
export ADO_ORGANIZATION=<yourOrganization>
28-
export ADO_PROJECT=SAP Deployment Automation
29-
wget https://raw.githubusercontent.com/Azure/sap-automation/experimental/deploy/scripts/create_devops_artifacts.sh -O devops.sh
30-
chmod +x ./devops.sh
31-
./devops.sh
32-
rm ./devops.sh
27+
export ADO_ORGANIZATION=https://dev.azure.com/<yourorganization>
28+
export ADO_PROJECT=SAP Deployment Automation
29+
wget https://raw.githubusercontent.com/Azure/sap-automation/main/deploy/scripts/create_devops_artifacts.sh -O devops.sh
30+
chmod +x ./devops.sh
31+
./devops.sh
32+
rm ./devops.sh
3333

3434
```
3535

3636
Validate that the project has been created by navigating to the Azure DevOps portal and selecting the project. Ensure that the Repo is populated and that the pipelines have been created.
3737

3838
You can finalize the Azure DevOps configuration by running the following scripts on your local workstation. Open a PowerShell Console and define the environment variables. Replace the bracketed values with the actual values.
3939

40-
40+
> [!IMPORTANT]
41+
> Run the following steps on your local workstation, also make sure that you have logged on to Azure using az login first.
4142
4243

4344
```powershell
44-
$Env:ADO_ORGANIZATION="https://dev.azure.com/<yourorganization>"
45+
$Env:ADO_ORGANIZATION="https://dev.azure.com/<yourorganization>"
4546
46-
$Env:ADO_PROJECT="<yourProject>"
47-
$Env:YourPrefix="<yourPrefix>"
47+
$Env:ADO_PROJECT="<yourProject>"
48+
$Env:YourPrefix="<yourPrefix>"
4849
49-
$Env:ControlPlaneSubscriptionID="<YourControlPlaneSubscriptionID>"
50-
$Env:DevSubscriptionID="<YourDevSubscriptionID>"
50+
$Env:ControlPlaneSubscriptionID="<YourControlPlaneSubscriptionID>"
51+
$Env:DevSubscriptionID="<YourDevSubscriptionID>"
5152
5253
```
5354
> [!NOTE]
@@ -58,11 +59,11 @@ Once the variables are defined run the following script to create the service pr
5859

5960
```powershell
6061
61-
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/experimental/deploy/scripts/update_devops_credentials.ps1 -OutFile .\configureDevOps.ps1 ; .\configureDevOps.ps1
62+
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/main/deploy/scripts/update_devops_credentials.ps1 -OutFile .\configureDevOps.ps1 ; .\configureDevOps.ps1
6263
6364
```
6465

65-
## Manual Configuration
66+
## Manual configuration of Azure DevOps Services for the SAP Deployment Automation Framework
6667

6768
### Create a new project
6869

@@ -76,7 +77,7 @@ Open (https://dev.azure.com) and create a new project by clicking on the _New Pr
7677
Record the URL of the project.
7778
### Import the repository
7879

79-
Start by importing the SAP Deployment Automation Framework GitHub repository into Azure Repos.
80+
Start by importing the SAP Deployment Automation Framework GitHub repository into Azure Repos.
8081

8182
Navigate to the Repositories section and choose Import a repository, import the 'https://github.com/Azure/sap-automation.git' repository into Azure DevOps. For more info, see [Import a repository](/azure/devops/repos/git/import-git-repository?view=azure-devops&preserve-view=true)
8283

@@ -85,14 +86,14 @@ If you're unable to import a repository, you can create the 'sap-automation' rep
8586
### Create the repository for manual import
8687

8788
> [!NOTE]
88-
> Only do this step if you are unable to import the repository directly.
89+
> Only do this step if you are unable to import the repository directly.
8990
90-
Create the 'sap-automation' repository by navigating to the 'Repositories' section in 'Project Settings' and clicking the _Create_ button.
91+
Create the 'sap-automation' repository by navigating to the 'Repositories' section in 'Project Settings' and clicking the _Create_ button.
9192

9293
Choose the repository type 'Git' and provide a name for the repository, for example 'sap-automation'.
9394
### Cloning the repository
9495

95-
In order to provide a more comprehensive editing capability of the content, you can clone the repository to a local folder and edit the contents locally.
96+
In order to provide a more comprehensive editing capability of the content, you can clone the repository to a local folder and edit the contents locally.
9697
Clone the repository to a local folder by clicking the _Clone_ button in the Files view in the Repos section of the portal. For more info, see [Cloning a repository](/azure/devops/repos/git/clone?view=azure-devops#clone-an-azure-repos-git-repo&preserve-view=true)
9798

9899
:::image type="content" source="./media/automation-devops/automation-repo-clone.png" alt-text="Picture showing how to clone the repository":::
@@ -101,7 +102,7 @@ Clone the repository to a local folder by clicking the _Clone_ button in the Fi
101102

102103
You can also download the content from the SAP Deployment Automation Framework repository manually and add it to your local clone of the Azure DevOps repository.
103104

104-
Navigate to 'https://github.com/Azure/SAP-automation' repository and download the repository content as a ZIP file by clicking the _Code_ button and choosing _Download ZIP_.
105+
Navigate to 'https://github.com/Azure/SAP-automation' repository and download the repository content as a ZIP file by clicking the _Code_ button and choosing _Download ZIP_.
105106

106107
Copy the content from the zip file to the root folder of your local clone.
107108

@@ -117,7 +118,7 @@ Select the source control icon and provide a message about the change, for examp
117118
> In order to ensure that your configuration files are not overwritten by changes in the SAP Deployment Automation Framework, store them in a separate folder hierarchy.
118119
119120

120-
Create a top level folder called 'WORKSPACES', this folder will be the root folder for all the SAP deployment configuration files. Create the following folders in the 'WORKSPACES' folder: 'DEPLOYER', 'LIBRARY', 'LANDSCAPE' and 'SYSTEM'. These will contain the configuration files for the different components of the SAP Deployment Automation Framework.
121+
Create a top level folder called 'WORKSPACES', this folder will be the root folder for all the SAP deployment configuration files. Create the following folders in the 'WORKSPACES' folder: 'DEPLOYER', 'LIBRARY', 'LANDSCAPE' and 'SYSTEM'. These will contain the configuration files for the different components of the SAP Deployment Automation Framework.
121122

122123
Optionally you may copy the sample configuration files from the 'samples/WORKSPACES' folders to the WORKSPACES folder you created, this will allow you to experiment with sample deployments.
123124

@@ -130,13 +131,13 @@ The automation framework optionally provisions a web app as a part of the contro
130131
# [Linux](#tab/linux)
131132
Replace MGMT with your environment as necessary.
132133
```bash
133-
echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json
134+
echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json
134135

135136
TF_VAR_app_registration_app_id=$(az ad app create --display-name MGMT-webapp-registration --enable-id-token-issuance true --sign-in-audience AzureADMyOrg --required-resource-access @manifest.json --query "appId" | tr -d '"')
136137

137138
echo $TF_VAR_app_registration_app_id
138139

139-
az ad app credential reset --id $TF_VAR_app_registration_app_id --append --query "password"
140+
az ad app credential reset --id $TF_VAR_app_registration_app_id --append --query "password"
140141

141142
rm manifest.json
142143
```
@@ -149,7 +150,7 @@ $TF_VAR_app_registration_app_id=(az ad app create --display-name MGMT-webapp-reg
149150
150151
echo $TF_VAR_app_registration_app_id
151152
152-
az ad app credential reset --id $TF_VAR_app_registration_app_id --append --query "password"
153+
az ad app credential reset --id $TF_VAR_app_registration_app_id --append --query "password"
153154
154155
del manifest.json
155156
```
@@ -160,7 +161,7 @@ Save the app registration ID and password values for later use.
160161

161162
## Create Azure Pipelines
162163

163-
Azure Pipelines are implemented as YAML files and they're stored in the 'deploy/pipelines' folder in the repository.
164+
Azure Pipelines are implemented as YAML files and they're stored in the 'deploy/pipelines' folder in the repository.
164165
## Control plane deployment pipeline
165166

166167
Create the control plane deployment pipeline by choosing _New Pipeline_ from the Pipelines section, 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:
@@ -295,7 +296,7 @@ The pipelines use a custom task to run Ansible. The custom task can be installed
295296
The pipelines use a custom task to perform cleanup activities post deployment. The custom task can be installed from [Post Build Cleanup](https://marketplace.visualstudio.com/items?itemName=mspremier.PostBuildCleanup). Install it to your Azure DevOps organization before running the pipelines.
296297

297298

298-
## Preparations for self-hosted agent
299+
## Preparations for self-hosted agent
299300

300301

301302
1. Create an Agent Pool by navigating to the Organizational Settings and selecting _Agent Pools_ from the Pipelines section. Click the _Add Pool_ button and choose Self-hosted as the pool type. Name the pool to align with the workload zone environment, for example `DEV-WEEU-POOL`. Ensure _Grant access permission to all pipelines_ is selected and create the pool using the _Create_ button.
@@ -348,7 +349,7 @@ az pipelines variable-group create --name SDAF-General --variables ANSIBLE_HOST_
348349
349350
### Environment specific variables
350351

351-
As each environment may have different deployment credentials you'll need to create a variable group per environment, for example 'SDAF-MGMT','SDAF-DEV', 'SDAF-QA'.
352+
As each environment may have different deployment credentials you'll need to create a variable group per environment, for example 'SDAF-MGMT','SDAF-DEV', 'SDAF-QA'.
352353

353354
Create a new variable group 'SDAF-MGMT' for the control plane environment using the Library page in the Pipelines section. Add the following variables:
354355

@@ -394,7 +395,7 @@ Enter a Service connection name, for instance 'Connection to MGMT subscription'
394395
## Permissions
395396

396397
> [!NOTE]
397-
> Most of the pipelines will add files to the Azure Repos and therefore require pull permissions. Assign "Contribute" permissions to the 'Build Service' using the Security tab of the source code repository in the Repositories section in Project settings.
398+
> Most of the pipelines will add files to the Azure Repos and therefore require pull permissions. Assign "Contribute" permissions to the 'Build Service' using the Security tab of the source code repository in the Repositories section in Project settings.
398399
399400
:::image type="content" source="./media/automation-devops/automation-repo-permissions.png" alt-text="Picture showing repository permissions":::
400401

@@ -407,7 +408,7 @@ Select the _Control plane deployment_ pipeline, provide the configuration names
407408

408409
### Configure the Azure DevOps Services self-hosted agent manually
409410

410-
> [!NOTE]
411+
> [!NOTE]
411412
>This is only needed if the Azure DevOps Services agent is not automatically configured. Please check that the agent pool is empty before proceeding.
412413
413414

@@ -421,7 +422,7 @@ Connect to the deployer by following these steps:
421422

422423
1. The default username is *azureadm*
423424

424-
1. Choose *SSH Private Key from Azure Key Vault*
425+
1. Choose *SSH Private Key from Azure Key Vault*
425426

426427
1. Select the subscription containing the control plane.
427428

@@ -461,7 +462,7 @@ The agent will now be configured and started.
461462

462463
## Deploy the Control Plane Web Application
463464

464-
Checking the "deploy the web app infrastructure" parameter when running the Control plane deployment pipeline will provision the infrastructure necessary for hosting the web app. The "Deploy web app" pipeline will publish the application's software to that infrastructure.
465+
Checking the "deploy the web app infrastructure" parameter when running the Control plane deployment pipeline will provision the infrastructure necessary for hosting the web app. The "Deploy web app" pipeline will publish the application's software to that infrastructure.
465466

466467
Wait for the deployment to finish. Once the deployment is complete, navigate to the Extensions tab and follow the instructions to finalize the configuration and update the 'reply-url' values for the app registration.
467468

0 commit comments

Comments
 (0)