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
# Use SAP Deployment Automation Framework from Azure DevOps Services
13
13
14
14
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.
16
16
17
17
## Sign up for Azure DevOps Services
18
18
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.
20
20
21
21
## Configure Azure DevOps Services for the SAP Deployment Automation Framework
22
22
23
23
You can use the following script to do a basic installation of Azure Devops Services for the SAP Deployment Automation Framework.
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.
37
37
38
38
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.
39
39
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.
## Manual configuration of Azure DevOps Services for the SAP Deployment Automation Framework
66
67
67
68
### Create a new project
68
69
@@ -76,7 +77,7 @@ Open (https://dev.azure.com) and create a new project by clicking on the _New Pr
76
77
Record the URL of the project.
77
78
### Import the repository
78
79
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.
80
81
81
82
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)
82
83
@@ -85,14 +86,14 @@ If you're unable to import a repository, you can create the 'sap-automation' rep
85
86
### Create the repository for manual import
86
87
87
88
> [!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.
89
90
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.
91
92
92
93
Choose the repository type 'Git' and provide a name for the repository, for example 'sap-automation'.
93
94
### Cloning the repository
94
95
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.
96
97
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)
97
98
98
99
:::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
101
102
102
103
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.
103
104
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_.
105
106
106
107
Copy the content from the zip file to the root folder of your local clone.
107
108
@@ -117,7 +118,7 @@ Select the source control icon and provide a message about the change, for examp
117
118
> 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.
118
119
119
120
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.
121
122
122
123
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.
123
124
@@ -130,13 +131,13 @@ The automation framework optionally provisions a web app as a part of the contro
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"
140
141
141
142
rm manifest.json
142
143
```
@@ -149,7 +150,7 @@ $TF_VAR_app_registration_app_id=(az ad app create --display-name MGMT-webapp-reg
149
150
150
151
echo $TF_VAR_app_registration_app_id
151
152
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"
153
154
154
155
del manifest.json
155
156
```
@@ -160,7 +161,7 @@ Save the app registration ID and password values for later use.
160
161
161
162
## Create Azure Pipelines
162
163
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.
164
165
## Control plane deployment pipeline
165
166
166
167
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
295
296
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.
296
297
297
298
298
-
## Preparations for self-hosted agent
299
+
## Preparations for self-hosted agent
299
300
300
301
301
302
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.
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'.
352
353
353
354
Create a new variable group 'SDAF-MGMT' for the control plane environment using the Library page in the Pipelines section. Add the following variables:
354
355
@@ -394,7 +395,7 @@ Enter a Service connection name, for instance 'Connection to MGMT subscription'
394
395
## Permissions
395
396
396
397
> [!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.
@@ -407,7 +408,7 @@ Select the _Control plane deployment_ pipeline, provide the configuration names
407
408
408
409
### Configure the Azure DevOps Services self-hosted agent manually
409
410
410
-
> [!NOTE]
411
+
> [!NOTE]
411
412
>This is only needed if the Azure DevOps Services agent is not automatically configured. Please check that the agent pool is empty before proceeding.
412
413
413
414
@@ -421,7 +422,7 @@ Connect to the deployer by following these steps:
421
422
422
423
1. The default username is *azureadm*
423
424
424
-
1. Choose *SSH Private Key from Azure Key Vault*
425
+
1. Choose *SSH Private Key from Azure Key Vault*
425
426
426
427
1. Select the subscription containing the control plane.
427
428
@@ -461,7 +462,7 @@ The agent will now be configured and started.
461
462
462
463
## Deploy the Control Plane Web Application
463
464
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.
465
466
466
467
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.
0 commit comments