Použití architektury SAP Deployment Automation Framework z Azure DevOps Services
Azure DevOps zjednodušuje proces nasazení tím, že poskytuje kanály, které můžete spustit pro nasazení infrastruktury a aktivity konfigurace a instalace SAP.
Azure Repos můžete použít k ukládání konfiguračních souborů a použití Azure Pipelines k nasazení a konfiguraci infrastruktury a aplikace SAP.
Registrace ke službě Azure DevOps Services
Pokud chcete používat Azure DevOps Services, potřebujete organizaci Azure DevOps. Organizace se používá k propojení skupin souvisejících projektů. Pomocí pracovního nebo školního účtu můžete automaticky připojit vaši organizaci k vašemu ID Microsoft Entra. Pokud chcete vytvořit účet, otevřete Azure DevOps a přihlaste se nebo vytvořte nový účet.
Konfigurace služby Azure DevOps Services pro architekturu SAP Deployment Automation Framework
Pomocí následujícího skriptu můžete provést základní instalaci služby Azure DevOps Services pro architekturu SAP Deployment Automation Framework.
Otevřete prostředí PowerShell ISE a zkopírujte následující skript a aktualizujte parametry tak, aby odpovídaly vašemu prostředí.
$Env:SDAF_ADO_ORGANIZATION = "https://dev.azure.com/ORGANIZATIONNAME"
$Env:SDAF_ADO_PROJECT = "SAP Deployment Automation Framework"
$Env:SDAF_CONTROL_PLANE_CODE = "MGMT"
$Env:SDAF_ControlPlaneSubscriptionID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$Env:ARM_TENANT_ID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
$Env:MSI_OBJECT_ID = $null
$branchName = "main"
$UniqueIdentifier = "SDAF" + $ShortCode
if ($Env:ARM_TENANT_ID.Length -eq 0) {
az login --output none --only-show-errors --scope https://graph.microsoft.com//.default
}
else {
az login --output none --tenant $Env:ARM_TENANT_ID --only-show-errors --scope https://graph.microsoft.com//.default
}
az config set extension.use_dynamic_install=yes_without_prompt --only-show-errors
az extension add --name azure-devops --only-show-errors
$differentTenant = Read-Host "Is your Azure DevOps organization hosted in a different tenant than the one you are currently logged in to? y/n"
if ($differentTenant -eq 'y') {
$env:AZURE_DEVOPS_EXT_PAT = Read-Host "Please enter your Personal Access Token (PAT) with permissions to add new projects, manage agent pools to the Azure DevOps organization $Env:ADO_Organization"
try {
az devops project list
}
catch {
$_
}
}
$confirmationWebAppDeployment = Read-Host "Do you want to use the Web Application for editing the configuration files (recommended) y/n?"
if ($confirmationWebAppDeployment -eq 'y') {
$Env:SDAF_WEBAPP = "true"
$confirmation = Read-Host "Do you want to create a new Application registration (needed for the Web Application) y/n?"
if ($confirmation -eq 'y') {
$Env:SDAF_APP_NAME = "SDAF " + $UniqueIdentifier + " SDAF Control Plane"
}
else {
$Env:SDAF_APP_NAME = Read-Host "Please provide the Application registration name"
}
}
else {
$Env:SDAF_WEBAPP = "false"
}
$Env:SDAF_AuthenticationMethod = 'Managed Identity'
$confirmationDeployment = Read-Host "Do you want to use Managed Identities for the deployment (recommended) y/n?"
if ($confirmationDeployment -eq 'n') {
$Env:SDAF_AuthenticationMethod = 'Service Principal'
$confirmation = Read-Host "Do you want to create a new Service Principal for the Control plane y/n?"
if ($confirmation -eq 'y') {
$Env:SDAF_MGMT_SPN_NAME = "SDAF " + $UniqueIdentifier + $Env:SDAF_CONTROL_PLANE_CODE + " SPN"
}
else {
$Env:SDAF_MGMT_SPN_NAME = Read-Host "Please provide the Control Plane Service Principal Name"
}
}
if ( $PSVersionTable.Platform -eq "Unix") {
if ( Test-Path "SDAF") {
}
else {
$sdaf_path = New-Item -Path "SDAF" -Type Directory
}
}
else {
$sdaf_path = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SDAF"
if ( Test-Path $sdaf_path) {
}
else {
New-Item -Path $sdaf_path -Type Directory
}
}
Set-Location -Path $sdaf_path
if ( Test-Path "New-SDAFDevopsProject.ps1") {
if ( $PSVersionTable.Platform -eq "Unix") {
Remove-Item "New-SDAFDevopsProject.ps1"
}
else {
Remove-Item ".\New-SDAFDevopsProject.ps1"
}
}
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/$branchName/deploy/scripts/New-SDAFDevopsProject.ps1 -OutFile New-SDAFDevopsProject.ps1
if ( $PSVersionTable.Platform -eq "Unix") {
Unblock-File ./New-SDAFDevopsProject.ps1
./New-SDAFDevopsProject.ps1
}
else {
Unblock-File .\New-SDAFDevopsProject.ps1
.\New-SDAFDevopsProject.ps1
}
Spusťte skript a postupujte podle pokynů. Skript otevře okna prohlížeče pro ověřování a pro provádění úkolů v projektu Azure DevOps.
Můžete zvolit, jestli chcete kód spustit přímo z GitHubu, nebo můžete importovat kopii kódu do projektu Azure DevOps.
Pokud chcete ověřit, že byl projekt vytvořen, přejděte na portál Azure DevOps a vyberte projekt. Ujistěte se, že se úložiště naplnilo a že se kanály vytvořily.
Důležité
Na místní pracovní stanici spusťte následující kroky. Spuštěním příkazu se také ujistěte, že máte nainstalované nejnovější Rozhraní příkazového az upgrade
řádku Azure.
Konfigurace artefaktů Azure DevOps Services pro novou zónu úloh
Pomocí následujícího skriptu nasaďte artefakty potřebné k podpoře nové zóny úloh. Tento proces vytvoří skupinu proměnných a připojení služby v Azure DevOps a volitelně instanční objekt nasazení.
Otevřete prostředí PowerShell ISE a zkopírujte následující skript a aktualizujte parametry tak, aby odpovídaly vašemu prostředí.
$Env:SDAF_ADO_ORGANIZATION = "https://dev.azure.com/ORGANIZATIONNAME"
$Env:SDAF_ADO_PROJECT = "SAP Deployment Automation Framework"
$Env:SDAF_WorkloadZoneSubscriptionID = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
$Env:ARM_TENANT_ID="zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"
if ( $PSVersionTable.Platform -eq "Unix") {
if ( Test-Path "SDAF") {
}
else {
$sdaf_path = New-Item -Path "SDAF" -Type Directory
}
}
else {
$sdaf_path = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SDAF"
if ( Test-Path $sdaf_path) {
}
else {
New-Item -Path $sdaf_path -Type Directory
}
}
$branchName = "main"
Set-Location -Path $sdaf_path
if ( Test-Path "New-SDAFDevopsWorkloadZone.ps1") {
remove-item .\New-SDAFDevopsWorkloadZone.ps1
}
Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/sap-automation/$branchName/deploy/scripts/New-SDAFDevopsWorkloadZone.ps1 -OutFile .\New-SDAFDevopsWorkloadZone.ps1 ; .\New-SDAFDevopsWorkloadZone.ps1
Vytvoření ukázkové konfigurace řídicí roviny
Kanál můžete spustit Create Sample Deployer Configuration
a vytvořit ukázkovou konfiguraci řídicí roviny. Po spuštění zvolte příslušnou oblast Azure. Můžete také řídit, jestli chcete nasadit Azure Firewall a Azure Bastion.
Ruční konfigurace služby Azure DevOps Services pro architekturu SAP Deployment Automation Framework
Azure DevOps Services můžete ručně nakonfigurovat pro architekturu SAP Deployment Automation Framework.
Vytvoření nového projektu
Azure Repos můžete použít k uložení kódu z úložiště GitHubu pro automatizaci sap a konfiguračních souborů prostředí.
Otevřete Azure DevOps a vytvořte nový projekt tak, že vyberete Nový projekt a zadáte podrobnosti o projektu. Projekt obsahuje úložiště správy zdrojového kódu Azure Repos a Azure Pipelines pro provádění aktivit nasazení.
Pokud nový projekt nevidíte, ujistěte se, že máte oprávnění k vytváření nových projektů v organizaci.
Zaznamenejte adresu URL projektu.
Import úložiště
Začněte importem úložiště Bootstrap GitHubu pro nasazení SAP Deployment Framework do Azure Repos.
Přejděte do části Úložiště a vyberte Importovat úložiště. Importujte https://github.com/Azure/sap-automation-bootstrap.git
úložiště do Azure DevOps. Další informace najdete v tématu Import úložiště.
Pokud nemůžete importovat úložiště, můžete úložiště vytvořit ručně. Pak do něj můžete importovat obsah z úložiště GitHub Bootstrap architektury SAP Deployment Automation Framework.
Vytvoření úložiště pro ruční import
Tento krok proveďte pouze v případě, že nemůžete importovat úložiště přímo.
Pokud chcete vytvořit úložiště pracovních prostorů , vyberte v části Úložiště v části Nastavení projektu možnost Vytvořit.
Zvolte úložiště, zadejte Git a zadejte název úložiště. Použijte například úložiště konfigurace SAP.
Klonování úložiště
Pokud chcete poskytnout komplexnější možnosti úprav obsahu, můžete úložiště naklonovat do místní složky a upravit obsah místně.
Pokud chcete úložiště naklonovat do místní složky, vyberte v části Úložiště na portálu v části Soubory možnost Klonovat. Další informace najdete v tématu Klonování úložiště.
Ruční import obsahu úložiště pomocí místního klonování
Můžete také ručně stáhnout obsah z úložiště SAP Deployment Automation Framework a přidat ho do místního klonu úložiště Azure DevOps.
Přejděte do https://github.com/Azure/SAP-automation-samples
úložiště a stáhněte obsah úložiště jako soubor .zip. Vyberte Kód a zvolte Stáhnout ZIP.
Zkopírujte obsah ze souboru .zip do kořenové složky místního klonu.
Otevřete místní složku v editoru Visual Studio Code. Měli byste vidět, že změny musí být synchronizovány indikátorem podle ikony správy zdrojového kódu, která je zde zobrazena.
Vyberte ikonu správy zdrojového kódu a zadejte zprávu o změně. Zadejte například Import z GitHubu a stisknutím kombinace kláves Ctrl+Enter potvrďte změny. Potom vyberte Synchronizovat změny , aby se změny synchronizovaly zpět do úložiště.
Volba zdroje pro terraform a kód Ansible
Kód SAP Deployment Automation Framework můžete spustit přímo z GitHubu nebo ho můžete importovat místně.
Spuštění kódu z místního úložiště
Pokud chcete spustit kód SAP Deployment Automation Framework z místního projektu Azure DevOps, musíte v projektu Azure DevOps vytvořit samostatné úložiště kódu a úložiště konfigurace:
- Název úložiště konfigurace:
Same as the DevOps Project name
. Zdroj jehttps://github.com/Azure/sap-automation-bootstrap.git
. - Název úložiště kódu:
sap-automation
. Zdroj jehttps://github.com/Azure/sap-automation.git
. - Název ukázkového úložiště a úložiště šablon:
sap-samples
. Zdroj jehttps://github.com/Azure/sap-automation-samples.git
.
Spuštění kódu přímo z GitHubu
Pokud chcete kód spustit přímo z GitHubu, musíte zadat přihlašovací údaje pro Azure DevOps, aby bylo možné načíst obsah z GitHubu.
Vytvoření připojení ke službě GitHub
Pokud chcete načíst kód z GitHubu, potřebujete připojení ke službě GitHub. Další informace najdete v tématu Správa připojení služeb.
Pokud chcete vytvořit připojení služby, přejděte na Project Nastavení a v části Pipelines přejděte na Připojení služby.
Jako typ připojení služby vyberte GitHub . V rozevíracím seznamu Konfigurace OAuth vyberte Azure Pipelines.
Výběrem možnosti Autorizovat se přihlaste k GitHubu.
Zadejte název připojení služby, například SDAF Připojení ion do GitHubu. Ujistěte se, že je zaškrtnuté políčko Udělit přístup všem kanálům . Výběrem možnosti Uložit uložte připojení služby.
Nastavení webové aplikace
Architektura automatizace volitelně zřídí webovou aplikaci jako součást řídicí roviny, která pomáhá se zónami úloh SAP a konfiguračními soubory systému. Pokud chcete webovou aplikaci použít, musíte nejprve vytvořit registraci aplikace pro účely ověřování. Otevřete Azure Cloud Shell a spusťte následující příkazy.
Podle potřeby nahraďte MGMT
prostředím.
echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json
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 '"')
echo $TF_VAR_app_registration_app_id
az ad app credential reset --id $TF_VAR_app_registration_app_id --append --query "password"
rm manifest.json
Uložte ID registrace aplikace a hodnoty hesla pro pozdější použití.
Vytvoření Azure Pipelines
Azure Pipelines se implementují jako soubory YAML. Jsou uložené ve složce deploy/pipelines v úložišti.
Kanál nasazení řídicí roviny
Vytvořte kanál nasazení řídicí roviny. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/01-deploy-control-plane.yml |
Název | Nasazení řídicí roviny |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo přesunout a přejmenujte kanál jako nasazení roviny řízení.
Kanál nasazení zóny úloh SAP
Vytvořte kanál zóny úloh SAP. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/02-sap-workload-zone.yml |
Název | Nasazení zóny úloh SAP |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo přesunout a přejmenujte kanál jako nasazení zóny úloh SAP.
Kanál nasazení systému SAP
Vytvořte kanál nasazení systému SAP. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/03-sap-system-deployment.yml |
Název | Nasazení systému SAP (infrastruktura) |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo přesunout a přejmenujte kanál jako nasazení systému SAP (infrastruktura).
Kanál získání softwaru SAP
Vytvořte kanál získávání softwaru SAP. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | deploy/pipelines/04-sap-software-download.yml |
Název | Získání softwaru SAP |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat/Přesunout a kanál přejmenujte na získání softwaru SAP.
Kanál konfigurace SAP a instalace softwaru
Vytvořte kanál konfigurace a instalace softwaru SAP. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/05-DB-and-SAP-installation.yml |
Název | Konfigurace a instalace SAP |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo přesunout a kanál přejmenujte jako konfiguraci a instalaci softwaru SAP.
Kanál odebrání nasazení
Vytvořte kanál pro odebrání nasazení. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/10-remover-terraform.yml |
Název | Odebrání nasazení |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo přesunout a kanál přejmenujte jako odebrání nasazení.
Kanál odebrání řídicí roviny
Vytvořte kanál pro odebrání řídicí roviny nasazení. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/12-remove-control-plane.yml |
Název | Odebrání řídicí roviny |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo přesunout a kanál přejmenujte na odebrání roviny řízení.
Kanál odebrání nasazení pomocí Azure Resource Manageru
Vytvořte kanál Azure Resource Manageru pro odebrání nasazení. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/11-remover-arm-fallback.yml |
Název | Odebrání nasazení pomocí Azure Resource Manageru |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo přesunout a přejmenujte kanál jako odebrání nasazení pomocí procesoru ARM.
Poznámka:
Tento kanál používejte pouze jako poslední možnost. Odebráním pouze skupin prostředků zůstanou zbytky, které by mohly komplikovat opětovné nasazení.
Kanál aktualizátoru úložiště
Vytvořte kanál aktualizátoru úložiště. V části Kanály vyberte Nový kanál. Jako zdroj kódu vyberte Git Azure Repos. Nakonfigurujte kanál tak, aby používal existující soubor YAML služby Azure Pipelines. Zadejte kanál s následujícím nastavením:
Nastavení | Hodnota |
---|---|
Úložiště | Kořenové úložiště (stejné jako název projektu) |
Pobočka | main |
Cesta | pipelines/20-update-ado-repository.yml |
Název | Aktualizátor úložiště |
Uložte kanál. Pokud chcete zobrazit možnost Uložit, vyberte dvojitou šipku vedle možnosti Spustit. Přejděte do části Kanály a vyberte kanál. V nabídce se třemi tečky na pravé straně zvolte Přejmenovat nebo Přesunout a kanál přejmenujte jako aktualizátor úložiště.
Tento kanál by se měl použít, když je v úložišti sap-automation aktualizace, kterou chcete použít.
Import úlohy vyčištění ze sady Visual Studio Marketplace
Kanály používají vlastní úlohu k provádění aktivit čištění po nasazení. Vlastní úlohu můžete nainstalovat z nástroje Post Build Cleanup. Před spuštěním kanálů ho nainstalujte do své organizace Azure DevOps.
Příprava na agenta v místním prostředí
Vytvořte fond agentů tak, že přejdete na organizační Nastavení. V části Kanály vyberte Přidat fond fondů agentů>. Jako typ fondu vyberte možnost Vlastní hostování . Pojmenujte fond tak, aby odpovídal prostředí řídicí roviny. Například použijte
MGMT-WEEU-POOL
. Ujistěte se, že je vybrána možnost Udělit přístup všem kanálům , a výběrem možnosti Vytvořit vytvořte fond.Přihlaste se pomocí uživatelského účtu, který plánujete použít ve vaší organizaci Azure DevOps .
Na domovské stránce otevřete nastavení uživatele a vyberte osobní přístupové tokeny.
Vytvořte osobní přístupový token s těmito nastaveními:
Fondy agentů: Vyberte Možnost Číst a spravovat.
Sestavení: Vyberte Možnost Číst a provést.
Kód: Vyberte čtení a zápis.
Skupiny proměnných: Vyberte číst, vytvořit a spravovat.
Poznamenejte si vytvořenou hodnotu tokenu.
Definice proměnných
Kanály nasazení jsou nakonfigurované tak, aby používaly sadu předdefinovaných hodnot parametrů definovaných pomocí skupin proměnných.
Běžné proměnné
Všechny kanály nasazení používají běžné proměnné. Jsou uloženy ve skupině proměnných s názvem SDAF-General
.
Pomocí stránky Knihovna v části Pipelines vytvořte novou skupinu proměnných s názvem SDAF-General
. Přidejte následující proměnné:
Proměnná | Hodnota | Notes |
---|---|---|
Deployment_Configuration_Path | PRACOVNÍ PROSTORY | Pro testování ukázkové konfigurace použijte samples/WORKSPACES místo PRACOVNÍCH PROSTORŮ. |
Pobočka | main | |
S-Username | <SAP Support user account name> |
|
Heslo S | <SAP Support user password> |
Výběrem ikony zámku změňte typ proměnné na tajný kód. |
tf_version |
1.6.0 | Verze Terraformu, která se má použít. Podívejte se na stažení Terraformu. |
Uložte proměnné.
Případně můžete k nastavení skupin použít Azure DevOps CLI.
s-user="<SAP Support user account name>"
s-password="<SAP Support user password>"
az devops login
az pipelines variable-group create --name SDAF-General --variables ANSIBLE_HOST_KEY_CHECKING=false Deployment_Configuration_Path=WORKSPACES Branch=main S-Username=$s-user S-Password=$s-password tf_version=1.3.0 --output yaml
Nezapomeňte přiřadit oprávnění pro všechny kanály pomocí oprávnění kanálu.
Proměnné specifické pro prostředí
Vzhledem k tomu, že každé prostředí může mít jiné přihlašovací údaje pro nasazení, musíte vytvořit skupinu proměnných pro každé prostředí. Například použijte , SDAF-MGMT
SDAF-DEV
a SDAF-QA
.
Pomocí stránky Knihovna v části Pipelines vytvořte novou skupinu proměnných pojmenovanou SDAF-MGMT
pro prostředí řídicí roviny. Přidejte následující proměnné:
Proměnná | Hodnota | Notes |
---|---|---|
Agent | Azure Pipelines nebo název fondu agentů |
Tento fond se vytvoří v pozdějším kroku. |
CP_ARM_CLIENT_ID | Service principal application ID |
|
CP_ARM_OBJECT_ID | Service principal object ID |
|
CP_ARM_CLIENT_SECRET | Service principal password |
Výběrem ikony zámku změňte typ proměnné na tajný kód. |
CP_ARM_SUBSCRIPTION_ID | Target subscription ID |
|
CP_ARM_TENANT_ID | Tenant ID pro instanční objekt |
|
AZURE_CONNECTION_NAME | Dříve vytvořený název připojení | |
sap_fqdn | Plně kvalifikovaný název domény SAP, například sap.contoso.net |
Je potřeba jenom v případě, že se nepoužívá Privátní DNS. |
FENCING_SPN_ID | Service principal application ID pro agenta šermování |
Vyžaduje se pro vysoce dostupná nasazení, která používají instanční objekt pro agenta pro dělení. |
FENCING_SPN_PWD | Service principal password pro agenta šermování |
Vyžaduje se pro vysoce dostupná nasazení, která používají instanční objekt pro agenta pro dělení. |
FENCING_SPN_TENANT | Service principal tenant ID pro agenta šermování |
Vyžaduje se pro vysoce dostupná nasazení, která používají instanční objekt pro agenta pro dělení. |
PAT | <Personal Access Token> |
Použijte osobní token definovaný v předchozím kroku. |
BAZÉN | <Agent Pool name> |
Fond agentů, který se má použít pro toto prostředí. |
APP_REGISTRATION_APP_ID | App registration application ID |
Vyžaduje se, pokud nasazujete webovou aplikaci. |
WEB_APP_CLIENT_SECRET | App registration password |
Vyžaduje se, pokud nasazujete webovou aplikaci. |
SDAF_GENERAL_GROUP_ID | ID skupiny pro skupinu SDAF-General | ID lze načíst z parametru variableGroupId adresy URL při přístupu ke skupině proměnných pomocí prohlížeče. Například: variableGroupId=8 . |
WORKLOADZONE_PIPELINE_ID | ID kanálu SAP workload zone deployment |
ID je možné načíst z parametru definitionId adresy URL ze stránky kanálu v Azure DevOps. Například: definitionId=31 . |
SYSTEM_PIPELINE_ID | ID kanálu SAP system deployment (infrastructure) |
ID je možné načíst z parametru definitionId adresy URL ze stránky kanálu v Azure DevOps. Například: definitionId=32 . |
Uložte proměnné.
Nezapomeňte přiřadit oprávnění pro všechny kanály pomocí oprávnění kanálu.
Pokud používáte webovou aplikaci, ujistěte se, že má služba sestavení alespoň oprávnění přispívat.
Pomocí funkce klonování můžete vytvořit další skupinu proměnných prostředí. APP_REGISTRATION_APP_ID, WEB_APP_CLIENT_SECRET, SDAF_GENERAL_GROUP_ID, WORKLOADZONE_PIPELINE_ID a SYSTEM_PIPELINE_ID jsou potřeba jenom pro skupinu SDAF-MGMT.
Vytvoření připojení služby
K odebrání prostředků Azure potřebujete připojení služby Azure Resource Manager. Další informace najdete v tématu Správa připojení služeb.
Pokud chcete vytvořit připojení služby, přejděte do projectu Nastavení. V části Pipelines (Kanály ) vyberte Service connections (Připojení služeb).
Jako typ připojení služby vyberte Azure Resource Manager a jako metodu ověřování vyberte instanční objekt (ruční ). Zadejte cílové předplatné, což je obvykle předplatné řídicí roviny. Zadejte podrobnosti instančního objektu. Vyberte Ověřit a ověřte přihlašovací údaje. Další informace o tom, jak vytvořit instanční objekt, najdete v tématu Vytvoření instančního objektu.
Zadejte název připojení služby, například použijte Connection to MGMT subscription
. Ujistěte se, že je zaškrtnuté políčko Udělit přístup všem kanálům . Vyberte Ověřit a uložte připojení služby.
Oprávnění
Většina kanálů přidává soubory do Azure Repos a proto vyžaduje oprávnění k přijetí změn. V Projectu Nastavení v části Úložiště vyberte kartu Zabezpečení úložiště zdrojového kódu a přiřaďte oprávnění Přispívat k souboru Build Service
.
Nasazení řídicí roviny
Nově vytvořené kanály nemusí být ve výchozím zobrazení viditelné. Vyberte kartu Poslední a vraťte se na všechny karty a zobrazte nové kanály.
Vyberte kanál nasazení řídicí roviny a zadejte názvy konfigurace pro nasazéru a knihovnu SAP. Výběrem možnosti Spustit nasadíte řídicí rovinu. Pokud chcete nastavit konfigurační webovou aplikaci, nezapomeňte zaškrtnout políčko Nasadit konfigurační webovou aplikaci.
Ruční konfigurace agenta Azure DevOps Services v místním prostředí
Ruční konfigurace se vyžaduje jenom v případě, že není automaticky nakonfigurovaný agent Azure DevOps Services. Než budete pokračovat, zkontrolujte, jestli je fond agentů prázdný.
Připojení k nasazéru:
Přihlaste se k portálu Azure.
Přejděte do skupiny prostředků, která obsahuje virtuální počítač nasazovacího nástroje.
Připojení k virtuálnímu počítači pomocí služby Azure Bastion.
Výchozí uživatelské jméno je azureadm.
Vyberte privátní klíč SSH ze služby Azure Key Vault.
Vyberte předplatné, které obsahuje řídicí rovinu.
Vyberte trezor klíčů nasazovacího nástroje.
V seznamu tajných kódů vyberte tajný klíč, který končí na -sshkey.
Připojte se k virtuálnímu počítači.
Spuštěním následujícího skriptu nakonfigurujte nasazéru:
mkdir -p ~/Azure_SAP_Automated_Deployment
cd ~/Azure_SAP_Automated_Deployment
git clone https://github.com/Azure/sap-automation.git
cd sap-automation/deploy/scripts
./configure_deployer.sh
Restartujte nasaditel, znovu se připojte a spusťte následující skript, který nastaví agenta Azure DevOps:
cd ~/Azure_SAP_Automated_Deployment/
$DEPLOYMENT_REPO_PATH/deploy/scripts/setup_ado.sh
Přijměte licenci a po zobrazení výzvy k zadání adresy URL serveru zadejte adresu URL, kterou jste zachytili při vytváření projektu Azure DevOps. Pro ověření vyberte PAT a zadejte hodnotu tokenu z předchozího kroku.
Po zobrazení výzvy zadejte název fondu aplikací, který jste vytvořili v předchozím kroku. Přijměte výchozí název agenta a výchozí název pracovní složky. Agent je teď nakonfigurovaný a spuštěný.
Nasazení webové aplikace řídicí roviny
Výběr parametru deploy the web app infrastructure
při spuštění kanálu nasazení řídicí roviny zřídí infrastrukturu potřebnou k hostování webové aplikace. Kanál nasadit webovou aplikaci publikuje software aplikace do této infrastruktury.
Počkejte na dokončení nasazení. Vyberte kartu Rozšíření a podle pokynů dokončete konfiguraci. Aktualizujte reply-url
hodnoty pro registraci aplikace.
V důsledku spuštění kanálu řídicí roviny se část adresy URL webové aplikace, kterou potřebujete, uloží do proměnné pojmenované WEBAPP_URL_BASE
ve skupině proměnných specifických pro prostředí. Adresy URL registrované webové aplikace můžete kdykoli aktualizovat pomocí následujícího příkazu.
webapp_url_base=<WEBAPP_URL_BASE>
az ad app update --id $TF_VAR_app_registration_app_id --web-home-page-url https://${webapp_url_base}.azurewebsites.net --web-redirect-uris https://${webapp_url_base}.azurewebsites.net/ https://${webapp_url_base}.azurewebsites.net/.auth/login/aad/callback
Musíte také udělit oprávnění čtenáře spravované identitě přiřazené systémem služby App Service. Přejděte k prostředku služby App Service. Na levé straně vyberte Identitu. Na kartě Přiřazený systém vyberte Přiřazení>rolí Azure Přidat přiřazení role. Jako obor vyberte Předplatné a jako roli čtenáře . Pak vyberte Uložit. Bez tohoto kroku nebude funkce rozevíracího seznamu webové aplikace fungovat.
Teď byste měli být schopni navštívit webovou aplikaci a použít ji k nasazení zón úloh SAP a systémové infrastruktury SAP.