azure-sap-automation-devops
SDAF Azure DevOps surface skills: bootstrap the Azure DevOps project and onboard workload zones, plus a catalogue of the 13 wrapper pipeline
Open source Open in the app JSON README (API)
About
SDAF Azure DevOps surface skills: bootstrap the Azure DevOps project and onboard workload zones, plus a catalogue of the 13 wrapper pipelines shipped in this repository. Grounded strictly in this repo's docs/. Independently installable; pair with the sap-automation hub plugin for complete Azure DevOps coverage.
Details
- Kind
- Plugins
- Topic
- Cloud & DevOps
- Publisher
- azure
- Origin
- gemini
- Category
- ferramentas
- Version
- 0.1.0
- Stars
- 11
- Forks
- 20
- Last push
- 2026-08-27T03:13:34Z
- Repository state
- ativo
- License
- MIT
- Added
- 2026-08-30 14:13:39
- Updated
- 2026-08-30 14:13:39
- Origin id
azure/sap-automation-bootstrap
README
# SAP Deployment Automation Framework for Azure DevOps
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`](https://github.com/Azure/sap-automation) documentation
hub.
Use the current Microsoft Learn article,
[Configure Azure DevOps for SAP Deployment Automation](https://learn.microsoft.com/azure/sap/automation/configure-devops?tabs=linux),
as the supported setup baseline. The pages in this repository organize that
journey and add details verified against the current wrapper pipelines.
## Install the SDAF AI skills for Azure DevOps
This repository ships the **`azure-sap-automation-devops`** plugin — the
Azure DevOps platform-specific plugin in the SDAF AI-skills family.
Installing it gives GitHub Copilot CLI, Claude Code, or Gemini CLI two
grounded skills: `sdaf-ado-project-bootstrap` (drives project + workload-zone
bootstrap) and `sdaf-ado-pipeline-catalogue` (answers questions about the 13
wrapper pipelines in [`pipelines/`](pipelines/)).
**All SDAF AI plugins are optional and independently installable.** For
complete coverage on a given platform, install the pairing that matches how
you run SDAF:
- **Local execution** — hub plugin from
[`Azure/sap-automation`](https://github.com/Azure/sap-automation).
- **Azure DevOps** — hub plugin **plus** this `azure-sap-automation-devops`
plugin.
- **GitHub Actions** — hub plugin **plus**
[`azure-sap-automation-github`](https://github.com/Azure/sap-automation-gh-bootstrap)
from [`Azure/sap-automation-gh-bootstrap`](https://github.com/Azure/sap-automation-gh-bootstrap).
This Azure DevOps plugin installs on its own; it will not fetch the hub for
you. Install the hub separately if you want its framework-level content
loaded at the same time.
Pick the section for your CLI. Full operator guide, verification steps,
example prompts, and troubleshooting live in [`docs/PLUGINS.md`](docs/PLUGINS.md).
### GitHub Copilot CLI
```bash
copilot plugin marketplace add Azure/sap-automation-bootstrap
copilot plugin install azure-sap-automation-devops@sap-automation-bootstrap
```
### Claude Code
```text
/plugin marketplace add Azure/sap-automation-bootstrap
/plugin install azure-sap-automation-devops@sap-automation-bootstrap
```
### Gemini CLI
```bash
gemini extensions install https://github.com/Azure/sap-automation-bootstrap
```
Use `gemini extensions install` (not `gemini skills install`) — the extension
reads the root [`gemini-extension.json`](gemini-extension.json) and auto-loads
the root [`skills/`](skills/) directory.
## Start the Azure DevOps journey
Complete the journey in order:
1. [Prepare Azure and Azure DevOps prerequisites](docs/01-00-prerequisites.md).
You confirm access, identity, networking, quota, SAP access, and agent
readiness.
2. [Bootstrap the Azure DevOps project](docs/02-00-bootstrap.md). You create or
configure repositories, variable groups, service connections, pipelines,
permissions, and agent pools.
3. [Deploy the control plane](docs/03-00-control-plane.md). You prepare deployer
and library configuration, review the test run, and run pipeline `01`.
4. [Deploy a workload zone](docs/04-00-workload-zone.md). You prepare landscape
configuration and run pipeline `02`.
5. [Deploy SAP-system infrastructure](docs/05-00-sap-system.md). You prepare
system configuration and run pipeline `03`.
6. [Acquire software and install SAP](docs/06-00-software-and-installation.md).
You select a bill of materials (BOM), download software, and run the selected
installation stages.
7. [Operate or remove the deployment](docs/07-00-operations.md). You update
repositories and pipelines, rotate credentials, and perform controlled
removal.
Use [Troubleshoot Azure DevOps deployments](docs/troubleshooting.md) for
symptom-based diagnostics and [Pipeline reference](docs/pipeline-reference.md)
for the wrapper-to-template map.
For automated setup, run the documented scripts in this order:
1. [Configure the Azure DevOps project and control-plane artifacts](docs/02-10-configure-devops-project.md).
2. [Configure workload-zone artifacts](docs/02-20-configure-workload-zone-artifacts.md).
These scripts configure Azure DevOps assets. They don't deploy Azure
infrastructure. Run the deployment pipelines in the remaining journey steps.
## Current capability boundaries
Azure DevOps and GitHub Actions implement the same SDAF lifecycle, but their
automation is not identical.
- Pipeline `22-sample-deployer-configuration.yml` creates 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-samples`](https://github.com/Azure/SAP-automation-samples)
content, the SDAF configuration Web application where applicable, or direct
customer editing. Store the reviewed files under `WORKSPACES`.
- The public selection criteria for
`04-sap-software-download.yml` and
`04-sap-software-download_v2.yml` are not confirmed. Review their parameter
models and your release guidance before selecting one.
- `07-sap-cal-installation.yml` references a core template that was not present
in the validated `sap-automation` checkout. Do not run it until the referenced
core repository ref contains and validates that template.
- Pipeline `01` does not pass its `test` parameter to the deployment scripts.
Do not use that parameter as a plan-only gate.
- Pipelines `02` and `03` pass `TEST_ONLY` through their v1 or v2 pipeline
scripts to `installer.sh` or `installer_v2.sh`. Use `test: true` to produce a
Terraform plan without applying it.
## Repository layout
| 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.
## Pipeline sequence
| 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.
## How it works
During template-driven execution, the core download templates map repositories
on the agent as follows:
- `sap-automation` maps 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`.
```mermaid
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.
## Trademarks
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](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
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.