{
  "markdown": "# SAP Deployment Automation Framework for Azure DevOps\n\nThis repository is the customer configuration and wrapper-pipeline repository\nfor running SAP Deployment Automation Framework (SDAF) through Azure DevOps.\nIt stores deployment configuration under `WORKSPACES` and calls implementation\ntemplates from the separate `sap-automation` code repository.\n\nFor framework architecture, execution-model selection, and local execution,\nreturn to the central\n[`Azure/sap-automation`](https://github.com/Azure/sap-automation) documentation\nhub.\n\nUse the current Microsoft Learn article,\n[Configure Azure DevOps for SAP Deployment Automation](https://learn.microsoft.com/azure/sap/automation/configure-devops?tabs=linux),\nas the supported setup baseline. The pages in this repository organize that\njourney and add details verified against the current wrapper pipelines.\n\n## Install the SDAF AI skills for Azure DevOps\n\nThis repository ships the **`azure-sap-automation-devops`** plugin — the\nAzure DevOps platform-specific plugin in the SDAF AI-skills family.\nInstalling it gives GitHub Copilot CLI, Claude Code, or Gemini CLI two\ngrounded skills: `sdaf-ado-project-bootstrap` (drives project + workload-zone\nbootstrap) and `sdaf-ado-pipeline-catalogue` (answers questions about the 13\nwrapper pipelines in [`pipelines/`](pipelines/)).\n\n**All SDAF AI plugins are optional and independently installable.** For\ncomplete coverage on a given platform, install the pairing that matches how\nyou run SDAF:\n\n- **Local execution** — hub plugin from\n  [`Azure/sap-automation`](https://github.com/Azure/sap-automation).\n- **Azure DevOps** — hub plugin **plus** this `azure-sap-automation-devops`\n  plugin.\n- **GitHub Actions** — hub plugin **plus**\n  [`azure-sap-automation-github`](https://github.com/Azure/sap-automation-gh-bootstrap)\n  from [`Azure/sap-automation-gh-bootstrap`](https://github.com/Azure/sap-automation-gh-bootstrap).\n\nThis Azure DevOps plugin installs on its own; it will not fetch the hub for\nyou. Install the hub separately if you want its framework-level content\nloaded at the same time.\n\nPick the section for your CLI. Full operator guide, verification steps,\nexample prompts, and troubleshooting live in [`docs/PLUGINS.md`](docs/PLUGINS.md).\n\n### GitHub Copilot CLI\n\n```bash\ncopilot plugin marketplace add Azure/sap-automation-bootstrap\ncopilot plugin install azure-sap-automation-devops@sap-automation-bootstrap\n```\n\n### Claude Code\n\n```text\n/plugin marketplace add Azure/sap-automation-bootstrap\n/plugin install azure-sap-automation-devops@sap-automation-bootstrap\n```\n\n### Gemini CLI\n\n```bash\ngemini extensions install https://github.com/Azure/sap-automation-bootstrap\n```\n\nUse `gemini extensions install` (not `gemini skills install`) — the extension\nreads the root [`gemini-extension.json`](gemini-extension.json) and auto-loads\nthe root [`skills/`](skills/) directory.\n\n## Start the Azure DevOps journey\n\nComplete the journey in order:\n\n1. [Prepare Azure and Azure DevOps prerequisites](docs/01-00-prerequisites.md).\n   You confirm access, identity, networking, quota, SAP access, and agent\n   readiness.\n2. [Bootstrap the Azure DevOps project](docs/02-00-bootstrap.md). You create or\n   configure repositories, variable groups, service connections, pipelines,\n   permissions, and agent pools.\n3. [Deploy the control plane](docs/03-00-control-plane.md). You prepare deployer\n   and library configuration, review the test run, and run pipeline `01`.\n4. [Deploy a workload zone](docs/04-00-workload-zone.md). You prepare landscape\n   configuration and run pipeline `02`.\n5. [Deploy SAP-system infrastructure](docs/05-00-sap-system.md). You prepare\n   system configuration and run pipeline `03`.\n6. [Acquire software and install SAP](docs/06-00-software-and-installation.md).\n   You select a bill of materials (BOM), download software, and run the selected\n   installation stages.\n7. [Operate or remove the deployment](docs/07-00-operations.md). You update\n   repositories and pipelines, rotate credentials, and perform controlled\n   removal.\n\nUse [Troubleshoot Azure DevOps deployments](docs/troubleshooting.md) for\nsymptom-based diagnostics and [Pipeline reference](docs/pipeline-reference.md)\nfor the wrapper-to-template map.\n\nFor automated setup, run the documented scripts in this order:\n\n1. [Configure the Azure DevOps project and control-plane artifacts](docs/02-10-configure-devops-project.md).\n2. [Configure workload-zone artifacts](docs/02-20-configure-workload-zone-artifacts.md).\n\nThese scripts configure Azure DevOps assets. They don't deploy Azure\ninfrastructure. Run the deployment pipelines in the remaining journey steps.\n\n## Current capability boundaries\n\nAzure DevOps and GitHub Actions implement the same SDAF lifecycle, but their\nautomation is not identical.\n\n- Pipeline `22-sample-deployer-configuration.yml` creates deployer and library\n  examples and rewrites selected wrapper defaults.\n- No verified full Azure DevOps equivalent exists for GitHub configuration\n  workflow `02`, which generates workload-zone configuration.\n- No verified full Azure DevOps equivalent exists for GitHub configuration\n  workflow `04`, which generates SAP-system configuration.\n- Prepare workload-zone and SAP-system files from reviewed\n  [`Azure/SAP-automation-samples`](https://github.com/Azure/SAP-automation-samples)\n  content, the SDAF configuration Web application where applicable, or direct\n  customer editing. Store the reviewed files under `WORKSPACES`.\n- The public selection criteria for\n  `04-sap-software-download.yml` and\n  `04-sap-software-download_v2.yml` are not confirmed. Review their parameter\n  models and your release guidance before selecting one.\n- `07-sap-cal-installation.yml` references a core template that was not present\n  in the validated `sap-automation` checkout. Do not run it until the referenced\n  core repository ref contains and validates that template.\n- Pipeline `01` does not pass its `test` parameter to the deployment scripts.\n  Do not use that parameter as a plan-only gate.\n- Pipelines `02` and `03` pass `TEST_ONLY` through their v1 or v2 pipeline\n  scripts to `installer.sh` or `installer_v2.sh`. Use `test: true` to produce a\n  Terraform plan without applying it.\n\n## Repository layout\n\n| Path | Ownership |\n| --- | --- |\n| `WORKSPACES/DEPLOYER` | Customer deployer Terraform variable files |\n| `WORKSPACES/LIBRARY` | Customer SAP library Terraform variable files |\n| `WORKSPACES/LANDSCAPE` | Customer workload-zone Terraform variable files |\n| `WORKSPACES/SYSTEM` | Customer SAP-system Terraform variable files |\n| `pipelines/` | Azure DevOps wrappers and standalone maintenance pipelines |\n| `pipelines/resources.yml` | `sap-automation` repository resource |\n| `pipelines/resources_including_samples.yml` | `sap-automation` and `sap-samples` repository resources |\n| `Ansible/` | Customer-owned Ansible extensions |\n\nThe resource files currently select `main`. For reproducible production\ndeployments, review the referenced repositories and pin an approved ref through\nyour controlled update process.\n\n## Pipeline sequence\n\n| Order | Pipeline | Outcome |\n| --- | --- | --- |\n| Optional | `22-sample-deployer-configuration.yml` | Creates control-plane examples and updates selected defaults |\n| 1 | `01-deploy-control-plane.yml` | Deploys the deployer, SAP library, and optional configuration Web application |\n| 2 | `02-sap-workload-zone.yml` | Stores deployment credentials and deploys a workload zone |\n| 3 | `03-sap-system-deployment.yml` | Deploys SAP-system infrastructure |\n| 4 | `04-sap-software-download.yml` or `_v2.yml` | Downloads SAP software from a selected BOM model |\n| 5 | `05-DB-and-SAP-installation.yml` | Runs selected OS, database, and SAP installation stages |\n| Optional | `07-sap-cal-installation.yml` | Azure DevOps CAL wrapper; validate its core template before use |\n| Operations | `20`, `21`, `10`, `11`, and `12` | Updates or removes deployment components |\n\nAll wrappers have `trigger: none`. Queue them deliberately after reviewing\ntheir runtime parameters.\n\n## How it works\n\nDuring template-driven execution, the core download templates map repositories\non the agent as follows:\n\n- `sap-automation` maps to `$(Build.SourcesDirectory)/sap-automation`.\n- This customer configuration repository maps to\n  `$(Build.SourcesDirectory)/config`.\n- Software-download pipelines also map the sample repository to\n  `$(Build.SourcesDirectory)/samples`.\n\n```mermaid\nflowchart LR\n    A[Azure DevOps wrapper pipeline] --> B[Core pipeline template]\n    C[Customer WORKSPACES configuration] --> B\n    D[sap-automation code repository] --> B\n    E[SAP automation samples] --> B\n    B --> F[Azure resources, remote Terraform state, or SAP configuration]\n```\n\nThe wrapper owns customer-selectable defaults and repository wiring. The core\ntemplate in `Azure/sap-automation` owns deployment implementation. Report\nwrapper defects here and core template or script defects in the central\nrepository.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or\nservices. Authorized use of Microsoft trademarks or logos is subject to and\nmust follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must\nnot cause confusion or imply Microsoft sponsorship. Any use of third-party\ntrademarks or logos is subject to those third parties' policies.\n",
  "bytes": 9493,
  "sha": "fd2086cded41afdb03f12ba8f3605944358893815eac6c2bca512c588a83bf49",
  "repo_slug": "azure/sap-automation-bootstrap",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_azure_sap_automation_bootstrap_2bda262b/readme"
}