This repository is the customer configuration and wrapper-pipeline repository
for running SAP Deployment Automation Framework (SDAF) through Azure DevOps.
It stores deployment configuration under WORKSPACES and calls implementation
templates from the separate sap-automation code repository.
For framework architecture, execution-model selection, and local execution,
return to the central
Azure/sap-automation documentation
hub.
Use the current Microsoft Learn article, Configure Azure DevOps for SAP Deployment Automation, as the supported setup baseline. The pages in this repository organize that journey and add details verified against the current wrapper pipelines.
Complete the journey in order:
- Prepare Azure and Azure DevOps prerequisites. You confirm access, identity, networking, quota, SAP access, and agent readiness.
- Bootstrap the Azure DevOps project. You create or configure repositories, variable groups, service connections, pipelines, permissions, and agent pools.
- Deploy the control plane. You prepare deployer
and library configuration, review the test run, and run pipeline
01. - Deploy a workload zone. You prepare landscape
configuration and run pipeline
02. - Deploy SAP-system infrastructure. You prepare
system configuration and run pipeline
03. - Acquire software and install SAP. You select a bill of materials (BOM), download software, and run the selected installation stages.
- Operate or remove the deployment. You update repositories and pipelines, rotate credentials, and perform controlled removal.
Use Troubleshoot Azure DevOps deployments for symptom-based diagnostics and Pipeline reference for the wrapper-to-template map.
For automated setup, run the documented scripts in this order:
These scripts configure Azure DevOps assets. They don't deploy Azure infrastructure. Run the deployment pipelines in the remaining journey steps.
Azure DevOps and GitHub Actions implement the same SDAF lifecycle, but their automation is not identical.
- Pipeline
22-sample-deployer-configuration.ymlcreates deployer and library examples and rewrites selected wrapper defaults. - No verified full Azure DevOps equivalent exists for GitHub configuration
workflow
02, which generates workload-zone configuration. - No verified full Azure DevOps equivalent exists for GitHub configuration
workflow
04, which generates SAP-system configuration. - Prepare workload-zone and SAP-system files from reviewed
Azure/SAP-automation-samplescontent, the SDAF configuration Web application where applicable, or direct customer editing. Store the reviewed files underWORKSPACES. - The public selection criteria for
04-sap-software-download.ymland04-sap-software-download_v2.ymlare not confirmed. Review their parameter models and your release guidance before selecting one. 07-sap-cal-installation.ymlreferences a core template that was not present in the validatedsap-automationcheckout. Do not run it until the referenced core repository ref contains and validates that template.- Pipeline
01does not pass itstestparameter to the deployment scripts. Do not use that parameter as a plan-only gate. - Pipelines
02and03passTEST_ONLYthrough their v1 or v2 pipeline scripts toinstaller.shorinstaller_v2.sh. Usetest: trueto produce a Terraform plan without applying it.
| Path | Ownership |
|---|---|
WORKSPACES/DEPLOYER |
Customer deployer Terraform variable files |
WORKSPACES/LIBRARY |
Customer SAP library Terraform variable files |
WORKSPACES/LANDSCAPE |
Customer workload-zone Terraform variable files |
WORKSPACES/SYSTEM |
Customer SAP-system Terraform variable files |
pipelines/ |
Azure DevOps wrappers and standalone maintenance pipelines |
pipelines/resources.yml |
sap-automation repository resource |
pipelines/resources_including_samples.yml |
sap-automation and sap-samples repository resources |
Ansible/ |
Customer-owned Ansible extensions |
The resource files currently select main. For reproducible production
deployments, review the referenced repositories and pin an approved ref through
your controlled update process.
| Order | Pipeline | Outcome |
|---|---|---|
| Optional | 22-sample-deployer-configuration.yml |
Creates control-plane examples and updates selected defaults |
| 1 | 01-deploy-control-plane.yml |
Deploys the deployer, SAP library, and optional configuration Web application |
| 2 | 02-sap-workload-zone.yml |
Stores deployment credentials and deploys a workload zone |
| 3 | 03-sap-system-deployment.yml |
Deploys SAP-system infrastructure |
| 4 | 04-sap-software-download.yml or _v2.yml |
Downloads SAP software from a selected BOM model |
| 5 | 05-DB-and-SAP-installation.yml |
Runs selected OS, database, and SAP installation stages |
| Optional | 07-sap-cal-installation.yml |
Azure DevOps CAL wrapper; validate its core template before use |
| Operations | 20, 21, 10, 11, and 12 |
Updates or removes deployment components |
All wrappers have trigger: none. Queue them deliberately after reviewing
their runtime parameters.
During template-driven execution, the core download templates map repositories on the agent as follows:
sap-automationmaps to$(Build.SourcesDirectory)/sap-automation.- This customer configuration repository maps to
$(Build.SourcesDirectory)/config. - Software-download pipelines also map the sample repository to
$(Build.SourcesDirectory)/samples.
flowchart LR
A[Azure DevOps wrapper pipeline] --> B[Core pipeline template]
C[Customer WORKSPACES configuration] --> B
D[sap-automation code repository] --> B
E[SAP automation samples] --> B
B --> F[Azure resources, remote Terraform state, or SAP configuration]
The wrapper owns customer-selectable defaults and repository wiring. The core
template in Azure/sap-automation owns deployment implementation. Report
wrapper defects here and core template or script defects in the central
repository.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third parties' policies.