Sap Deployment Automation-keretrendszer használata az Azure DevOps Servicesből
Az Azure DevOps leegyszerűsíti az üzembe helyezési folyamatot azáltal, hogy olyan folyamatokat biztosít, amelyeket futtathat az infrastruktúra üzembe helyezéséhez, valamint a konfigurációs és SAP-telepítési tevékenységek végrehajtásához.
Az Azure Repos használatával tárolhatja a konfigurációs fájlokat, az Azure Pipelines használatával pedig üzembe helyezheti és konfigurálhatja az infrastruktúrát és az SAP-alkalmazást.
Regisztráció az Azure DevOps Services szolgáltatásra
Az Azure DevOps Services használatához Azure DevOps-szervezetre van szüksége. A szervezet a kapcsolódó projektek csoportjainak összekapcsolására szolgál. Munkahelyi vagy iskolai fiókjával automatikusan csatlakoztathatja a szervezetet a Microsoft Entra-azonosítójához. Fiók létrehozásához nyissa meg az Azure DevOpsot , és jelentkezzen be, vagy hozzon létre egy új fiókot.
Az Azure DevOps Services konfigurálása az SAP Deployment Automation-keretrendszerhez
Az alábbi szkripttel elvégezheti az Azure DevOps Services for SAP Deployment Automation Framework alapszintű telepítését.
Nyissa meg a PowerShell I-t Standard kiadás és másolja ki a következő szkriptet, és frissítse a paramétereket a környezetének megfelelően.
$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
}
Futtassa a szkriptet, és kövesse az utasításokat. A szkript megnyitja a böngészőablakokat a hitelesítéshez és az Azure DevOps-projekt feladatainak elvégzéséhez.
Dönthet úgy, hogy közvetlenül a GitHubról futtatja a kódot, vagy importálja a kód egy példányát az Azure DevOps-projektbe.
A projekt létrehozásának ellenőrzéséhez lépjen az Azure DevOps portálra, és válassza ki a projektet. Győződjön meg arról, hogy az adattár ki lett töltve, és hogy a folyamatok létre lettek hozva.
Fontos
Futtassa az alábbi lépéseket a helyi munkaállomáson. A parancs futtatásával az upgrade
győződjön meg arról is, hogy a legújabb Azure CLI van telepítve.
Azure DevOps Services-összetevők konfigurálása új számítási feladatok zónájához
Az alábbi szkripttel telepítheti az új számítási feladatok zónájának támogatásához szükséges összetevőket. Ez a folyamat létrehozza a változócsoportot és a szolgáltatáskapcsolatot az Azure DevOpsban, és opcionálisan az üzembehelyezési szolgáltatásnevet.
Nyissa meg a PowerShell I-t Standard kiadás és másolja ki a következő szkriptet, és frissítse a paramétereket a környezetének megfelelően.
$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
Minta vezérlősík konfigurációjának létrehozása
A folyamat futtatásával Create Sample Deployer Configuration
mintakonfigurációt hozhat létre a vezérlősíkhoz. Amikor fut, válassza ki a megfelelő Azure-régiót. Azt is szabályozhatja, hogy üzembe kívánja-e helyezni az Azure Firewallt és az Azure Bastiont.
Az Azure DevOps Services manuális konfigurálása az SAP Deployment Automation-keretrendszerhez
Manuálisan konfigurálhatja az Azure DevOps Servicest az SAP Deployment Automation Frameworkhez.
Új projekt létrehozása
Az Azure Repos használatával az sap-automation GitHub-adattárból és a környezet konfigurációs fájljaiból tárolhatja a kódot.
Nyissa meg az Azure DevOpsot, és hozzon létre egy új projektet az Új projekt kiválasztásával és a projekt részleteinek megadásával. A projekt tartalmazza az Azure Repos forrásvezérlési adattárát és az Üzembehelyezési tevékenységek végrehajtásához szükséges Azure Pipelinest.
Ha nem látja az Új projektet, győződjön meg arról, hogy rendelkezik engedéllyel új projektek létrehozására a szervezetben.
Rögzítse a projekt URL-címét.
Az adattár importálása
Először importálja az SAP Deployment Automation Framework Bootstrap GitHub-adattárát az Azure-adattárakba.
Nyissa meg az Adattárak szakaszt, és válassza az Adattár importálása lehetőséget. Importálja az adattárat az https://github.com/Azure/sap-automation-bootstrap.git
Azure DevOpsba. További információ: Adattár importálása.
Ha nem tudja importálni az adattárat, manuálisan is létrehozhatja az adattárat. Ezután importálhatja a tartalmat az SAP Deployment Automation Framework GitHub Bootstrap-adattárából.
Az adattár létrehozása manuális importáláshoz
Ezt a lépést csak akkor hajtsa végre, ha nem tudja közvetlenül importálni az adattárat.
A munkaterületek adattárának létrehozásához az Adattár szakaszban, a Project beállításai alatt válassza a Létrehozás lehetőséget.
Válassza ki az adattárat, írja be a Git nevet, és adja meg az adattár nevét. Használja például az SAP Configuration Repositoryt.
A tárház klónozása
A tartalom átfogóbb szerkesztési funkciójának biztosításához klónozhatja az adattárat egy helyi mappába, és helyileg szerkesztheti a tartalmat.
Ha az adattárat egy helyi mappába szeretné klónozni, a portál Adattár szakaszában válassza a Fájlok területen a Klónozás lehetőséget. További információ: Adattár klónozása.
Az adattár tartalmának manuális importálása helyi klón használatával
Manuálisan is letöltheti a tartalmat az SAP Deployment Automation Framework-adattárból, és hozzáadhatja azt az Azure DevOps-adattár helyi klónjához.
Nyissa meg az https://github.com/Azure/SAP-automation-samples
adattárat, és töltse le az adattár tartalmát .zip fájlként. Válassza a Kód lehetőséget, és válassza a ZIP letöltése lehetőséget.
Másolja a tartalmat a .zip fájlból a helyi klón gyökérmappájába.
Nyissa meg a helyi mappát a Visual Studio Code-ban. Látnia kell, hogy a módosításokat a mutatónak szinkronizálnia kell az itt látható forrásvezérlő ikonnal.
Válassza a forrásvezérlő ikont, és adjon meg egy üzenetet a módosításról. Írja be például az Importálás a GitHubról parancsot, és a módosítások véglegesítéséhez válassza a Ctrl+Enter billentyűkombinációt. Ezután válassza a Módosítások szinkronizálása lehetőséget a módosítások adattárba való visszaszinkronizálásához.
Válassza ki a Terraform és az Ansible kód forrását
Futtathatja az SAP Deployment Automation-keretrendszer kódját közvetlenül a GitHubról, vagy importálhatja helyileg.
A kód futtatása helyi adattárból
Ha a helyi Azure DevOps-projektből szeretné futtatni az SAP Deployment Automation-keretrendszer kódját, létre kell hoznia egy külön kódtárat és egy konfigurációs adattárat az Azure DevOps-projektben:
- A konfigurációs adattár neve:
Same as the DevOps Project name
. Forrás:https://github.com/Azure/sap-automation-bootstrap.git
. - A kódtár neve:
sap-automation
. Forrás:https://github.com/Azure/sap-automation.git
. - A minta- és sablonadattár neve:
sap-samples
. Forrás:https://github.com/Azure/sap-automation-samples.git
.
A kód futtatása közvetlenül a GitHubról
Ha közvetlenül a GitHubról szeretné futtatni a kódot, meg kell adnia az Azure DevOps hitelesítő adatait ahhoz, hogy le tudja kérni a tartalmat a GitHubról.
A GitHub szolgáltatáskapcsolat létrehozása
Ha le szeretné kérni a kódot a GitHubról, gitHub-szolgáltatáskapcsolatra van szüksége. További információ: Szolgáltatáskapcsolatok kezelése.
A szolgáltatáskapcsolat létrehozásához nyissa meg a Project Gépház, majd a Folyamatok szakaszban válassza a Szolgáltatáskapcsolatok lehetőséget.
Válassza a GitHubot szolgáltatáskapcsolattípusként. Válassza az Azure Pipelines lehetőséget az OAuth Configuration legördülő listában.
Válassza az Engedélyezés lehetőséget a GitHubra való bejelentkezéshez.
Adjon meg egy szolgáltatáskapcsolatnevet, például SDAF Csatlakozás iont a GitHubhoz. Győződjön meg arról, hogy az összes folyamat hozzáférési engedélyének megadása jelölőnégyzet be van jelölve. A szolgáltatáskapcsolat mentéséhez válassza a Mentés lehetőséget.
A webalkalmazás beállítása
Az automatizálási keretrendszer opcionálisan kiépít egy webalkalmazást a vezérlősík részeként, hogy segítse az SAP számítási feladatzónáját és a rendszerkonfigurációs fájlokat. Ha a webalkalmazást szeretné használni, először létre kell hoznia egy alkalmazásregisztrációt hitelesítés céljából. Nyissa meg az Azure Cloud Shellt, és futtassa a következő parancsokat.
Szükség esetén cserélje le MGMT
a környezetére.
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
Mentse az alkalmazásregisztrációs azonosítót és a jelszóértékeket későbbi használatra.
Azure Pipelines létrehozása
Az Azure Pipelines YAML-fájlokként van implementálva. A rendszer az adattár üzembe helyezési/folyamat-mappájában tárolja őket.
Vezérlősík üzembehelyezési folyamata
Hozza létre a vezérlősík üzembehelyezési folyamatát. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/01-deploy-control-plane.yml |
Név | Vezérlősík üzembe helyezése |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot vezérlősík-telepítésként.
SAP számítási feladatok zónájának üzembehelyezési folyamata
Hozza létre az SAP számítási feladatok zónafolyamatát. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/02-sap-workload-zone.yml |
Név | SAP számítási feladatok zónájának üzembe helyezése |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot SAP számítási feladatok zónájának üzembe helyezéseként.
SAP-rendszer üzembehelyezési folyamata
Hozza létre az SAP-rendszer üzembehelyezési folyamatát. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/03-sap-system-deployment.yml |
Név | SAP-rendszer üzembe helyezése (infrastruktúra) |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot SAP-rendszertelepítésként (infrastruktúra).
SAP-szoftverbeszerzési folyamat
Hozza létre az SAP szoftverbeszerzési folyamatot. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | deploy/pipelines/04-sap-software-download.yml |
Név | SAP-szoftverek beszerzése |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot SAP-szoftverbeszerzésként.
SAP-konfiguráció és szoftvertelepítési folyamat
Hozza létre az SAP-konfigurációt és a szoftvertelepítési folyamatot. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/05-DB-and-SAP-installation.yml |
Név | Konfiguráció és SAP-telepítés |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot SAP-konfigurációként és szoftvertelepítésként.
Üzembehelyezési eltávolítási folyamat
Hozza létre az üzembehelyezési eltávolítási folyamatot. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/10-remover-terraform.yml |
Név | Üzembe helyezés eltávolítása |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot üzembehelyezési eltávolításként.
Vezérlősík-eltávolítási folyamat
Hozza létre a vezérlősík üzembehelyezési eltávolítási folyamatát. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/12-remove-control-plane.yml |
Név | Vezérlősík eltávolítása |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot vezérlősík-eltávolításként.
Üzembehelyezési eltávolítási folyamat az Azure Resource Manager használatával
Hozza létre az üzembehelyezési eltávolítási Azure Resource Manager-folyamatot. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/11-remover-arm-fallback.yml |
Név | Üzembe helyezés eltávolítása az Azure Resource Managerrel |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot üzembehelyezési eltávolításként ARM-processzorral.
Megjegyzés:
Csak végső megoldásként használja ezt a folyamatot. Csak az erőforráscsoportok eltávolítása olyan maradványokat hagy, amelyek megnehezíthetik az újratelepítéseket.
Adattár-frissítő folyamat
Hozza létre az adattár-frissítő folyamatot. A Folyamatok szakaszban válassza az Új folyamat lehetőséget. Válassza ki az Azure Repos Gitet a kód forrásaként. Konfigurálja a folyamatot egy meglévő Azure Pipelines YAML-fájl használatára. Adja meg a folyamatot a következő beállításokkal:
Setting | Érték |
---|---|
Repo | "Gyökér-adattár" (ugyanaz, mint a projekt neve) |
Ág | main |
Elérési út | pipelines/20-update-ado-repository.yml |
Név | Adattárfrissítő |
Mentse a folyamatot. A Mentés megtekintéséhez válassza a Futtatás melletti sávt. Lépjen a Folyamatok szakaszra, és válassza ki a folyamatot. Válassza az Átnevezés/Áthelyezés lehetőséget a jobb oldali három pont menüből, és nevezze át a folyamatot adattár-frissítőként.
Ezt a folyamatot akkor kell használni, ha a használni kívánt sap-automation-adattárban frissítés történik.
A törlési feladat importálása a Visual Studio Marketplace-ről
A folyamatok egy egyéni feladatot használnak a törlési tevékenységek végrehajtására az üzembe helyezés után. Az egyéni feladatot a buildkarbantartás utáni feladatból telepítheti. A folyamat futtatása előtt telepítse az Azure DevOps-szervezetbe.
Saját üzemeltetésű ügynök előkészítése
Hozzon létre egy ügynökkészletet a Szervezeti Gépház. A Folyamatok szakaszban válassza az Ügynökkészletek>készlet hozzáadása lehetőséget. Válassza a saját üzemeltetésű készlettípust. Nevezze el a készletet, hogy igazodjon a vezérlősík-környezethez. Használja például a következőt
MGMT-WEEU-POOL
: . Győződjön meg arról, hogy az összes folyamat hozzáférési engedélyének megadása ki van jelölve, és válassza a Létrehozás lehetőséget a készlet létrehozásához.Jelentkezzen be az Azure DevOps-szervezetben használni kívánt felhasználói fiókkal.
A kezdőlapon nyissa meg a felhasználói beállításokat, és válassza a Személyes hozzáférési jogkivonatok lehetőséget.
Hozzon létre egy személyes hozzáférési jogkivonatot az alábbi beállításokkal:
Ügynökkészletek: Válassza az Olvasás és kezelés lehetőséget.
Build: Válassza az Olvasás és végrehajtás lehetőséget.
Kód: Válassza az Olvasás és írás lehetőséget.
Változócsoportok: Válassza az Olvasás, létrehozás és kezelés lehetőséget.
Írja le a létrehozott jogkivonat értékét.
Változódefiníciók
Az üzembehelyezési folyamatok úgy vannak konfigurálva, hogy változócsoportok használatával meghatározott előre definiált paraméterértékeket használjanak.
Gyakori változók
A gyakori változókat az összes üzembehelyezési folyamat használja. A rendszer egy úgynevezett változócsoportban SDAF-General
tárolja őket.
Hozzon létre egy új változócsoportot a Folyamatok szakasz Könyvtár lapján.SDAF-General
Adja hozzá a következő változókat:
Változó | Érték | Jegyzetek |
---|---|---|
Deployment_Configuration_Path | MUNKATERÜLETEK | A mintakonfiguráció teszteléséhez használja samples/WORKSPACES a WORKSPACES helyett. |
Ág | main | |
S-felhasználónév | <SAP Support user account name> |
|
S-jelszó | <SAP Support user password> |
A zárolás ikon kiválasztásával módosítsa a változó típusát titkosra. |
tf_version |
1.6.0 | A használni kívánt Terraform-verzió. Lásd a Terraform letöltését. |
Mentse a változókat.
Másik lehetőségként az Azure DevOps CLI-vel állíthatja be a csoportokat.
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
Ne felejtse el az összes folyamat engedélyeinek hozzárendelését folyamatengedélyek használatával.
Környezetspecifikus változók
Mivel az egyes környezetek eltérő üzembehelyezési hitelesítő adatokkal rendelkezhetnek, környezetenként változó csoportot kell létrehoznia. Használja például a SDAF-MGMT
,SDAF-DEV
és a SDAF-QA
.
Hozzon létre egy új változócsoportot SDAF-MGMT
a vezérlősík-környezethez a Folyamatok szakasz Könyvtár lapján. Adja hozzá a következő változókat:
Változó | Érték | Jegyzetek |
---|---|---|
Agent | Azure Pipelines vagy az ügynökkészlet neve |
Ez a készlet egy későbbi lépésben jön létre. |
CP_ARM_CLIENT_ID | Service principal application ID |
|
CP_ARM_OBJECT_ID | Service principal object ID |
|
CP_ARM_CLIENT_Standard kiadás CRET | Service principal password |
A zárolás ikon kiválasztásával módosítsa a változó típusát titkosra. |
CP_ARM_SUBSCRIPTION_ID | Target subscription ID |
|
CP_ARM_TENANT_ID | Tenant ID a szolgáltatásnévhez |
|
AZURE_CONNECTION_NAME | Korábban létrehozott kapcsolat neve | |
sap_fqdn | SAP teljes tartománynév, például sap.contoso.net |
Csak akkor van szükség, ha saját DNS nincs használatban. |
FENCING_SPN_ID | Service principal application ID a kerítésügynök esetében |
Olyan magas rendelkezésre állású üzemelő példányokhoz szükséges, amelyek a kerítésügynökhöz szolgáltatásnevet használnak. |
FENCING_SPN_PWD | Service principal password a kerítésügynök esetében |
Olyan magas rendelkezésre állású üzemelő példányokhoz szükséges, amelyek a kerítésügynökhöz szolgáltatásnevet használnak. |
FENCING_SPN_TENANT | Service principal tenant ID a kerítésügynök esetében |
Olyan magas rendelkezésre állású üzemelő példányokhoz szükséges, amelyek a kerítésügynökhöz szolgáltatásnevet használnak. |
PAT | <Personal Access Token> |
Használja az előző lépésben definiált személyes jogkivonatot. |
MEDENCE | <Agent Pool name> |
A környezethez használandó ügynökkészlet. |
APP_REGISTRATION_APP_ID | App registration application ID |
A webalkalmazás üzembe helyezése kötelező. |
WEB_APP_CLIENT_Standard kiadás CRET | App registration password |
A webalkalmazás üzembe helyezése kötelező. |
SDAF_GENERAL_GROUP_ID | Az SDAF-General csoport csoportazonosítója | Az azonosító lekérhető az URL-paraméterből variableGroupId , amikor böngészővel éri el a változócsoportot. For example: variableGroupId=8 . |
WORKLOADZONE_PIPELINE_ID | A folyamat azonosítója SAP workload zone deployment |
Az azonosító lekérhető az URL-paraméterből definitionId az Azure DevOps folyamatlapjáról. For example: definitionId=31 . |
SYSTEM_PIPELINE_ID | A folyamat azonosítója SAP system deployment (infrastructure) |
Az azonosító lekérhető az URL-paraméterből definitionId az Azure DevOps folyamatlapjáról. For example: definitionId=32 . |
Mentse a változókat.
Ne felejtse el az összes folyamat engedélyeinek hozzárendelését folyamatengedélyek használatával.
A webalkalmazás használatakor győződjön meg arról, hogy a buildszolgáltatás rendelkezik legalább Közreműködői engedélyekkel.
A klónozási funkcióval létrehozhatja a következő környezeti változócsoportot. APP_REGISTRATION_APP_ID, WEB_APP_CLIENT_Standard kiadás CRET, SDAF_GENERAL_GROUP_ID, WORKLOADZONE_PIPELINE_ID és SYSTEM_PIPELINE_ID csak az SDAF-MGMT csoporthoz szükséges.
Szolgáltatáskapcsolat létrehozása
Az Azure-erőforrások eltávolításához Azure Resource Manager-szolgáltatáskapcsolatra van szükség. További információ: Szolgáltatáskapcsolatok kezelése.
A szolgáltatáskapcsolat létrehozásához lépjen a Project Gépház. A Folyamatok szakaszban válassza a Szolgáltatáskapcsolatok lehetőséget.
Válassza az Azure Resource Managert a szolgáltatáskapcsolat típusaként, a szolgáltatásnév (manuális) pedig a hitelesítési módszerként. Adja meg a cél-előfizetést, amely általában a vezérlősík-előfizetés. Adja meg a szolgáltatásnév adatait. Válassza az Ellenőrzés lehetőséget a hitelesítő adatok érvényesítéséhez. A szolgáltatásnév létrehozásáról további információt a Szolgáltatásnév létrehozása című témakörben talál.
Adja meg például Connection to MGMT subscription
a szolgáltatáskapcsolat nevét. Győződjön meg arról, hogy az összes folyamat hozzáférési engedélyének megadása jelölőnégyzet be van jelölve. Válassza az Ellenőrzés és mentés lehetőséget a szolgáltatáskapcsolat mentéséhez.
Permissions
A legtöbb folyamat fájlokat ad hozzá az Azure-adattárakhoz, ezért lekéréses engedélyeket igényel. A Project Gépház Adattárak szakaszában válassza ki a forráskódtár Biztonsági lapját, és rendelje hozzá a Közreműködői engedélyeket.Build Service
A vezérlősík üzembe helyezése
Előfordulhat, hogy az újonnan létrehozott folyamatok nem láthatók az alapértelmezett nézetben. Válassza a Legutóbbiak lapot, és térjen vissza a Minden lapra az új folyamatok megtekintéséhez.
Válassza ki a Vezérlősík üzembehelyezési folyamatát, és adja meg a telepítő és az SAP-kódtár konfigurációnevét. Válassza a Futtatás lehetőséget a vezérlősík üzembe helyezéséhez. Ha be szeretné állítani a konfigurációs webalkalmazást, jelölje be a Konfigurációs webalkalmazás üzembe helyezése jelölőnégyzetet.
Az Azure DevOps Services saját üzemeltetésű ügynökének manuális konfigurálása
Manuális konfigurációra csak akkor van szükség, ha az Azure DevOps Services-ügynök nincs automatikusan konfigurálva. A folytatás előtt ellenőrizze, hogy az ügynökkészlet üres-e.
Csatlakozás a telepítőhöz:
Jelentkezzen be az Azure Portalra.
Nyissa meg az üzembe helyező virtuális gépet tartalmazó erőforráscsoportot.
Csatlakozás a virtuális gépre az Azure Bastion használatával.
Az alapértelmezett felhasználónév az azureadm.
Válassza ki az SSH titkos kulcsát az Azure Key Vaultból.
Válassza ki a vezérlősíkot tartalmazó előfizetést.
Válassza ki a központi telepítési kulcstartót.
A titkos kódok listájában válassza ki a -sshkey végződésű titkos kódot.
Csatlakozzon a virtuális géphez.
Futtassa a következő szkriptet a telepítő konfigurálásához:
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
Indítsa újra a telepítőt, csatlakozzon újra, és futtassa a következő szkriptet az Azure DevOps-ügynök beállításához:
cd ~/Azure_SAP_Automated_Deployment/
$DEPLOYMENT_REPO_PATH/deploy/scripts/setup_ado.sh
Fogadja el a licencet, és amikor a kiszolgáló URL-címét kéri, adja meg az Azure DevOps-projekt létrehozásakor rögzített URL-címet. A hitelesítéshez válassza a PAT lehetőséget, és adja meg a jogkivonat értékét az előző lépésben.
Amikor a rendszer kéri, adja meg az előző lépésben létrehozott alkalmazáskészlet nevét. Fogadja el az alapértelmezett ügynöknevet és az alapértelmezett munkahelyi mappanevet. Az ügynök most már konfigurálva van, és elindul.
A vezérlősík webalkalmazásának üzembe helyezése
Ha kiválasztja a deploy the web app infrastructure
paramétert a vezérlősík üzembehelyezési folyamatának futtatásakor, kiépül a webalkalmazás üzemeltetéséhez szükséges infrastruktúra. A webalkalmazás üzembe helyezése folyamat közzéteszi az alkalmazás szoftverét az adott infrastruktúrában.
Várjon, amíg az üzembe helyezés befejeződik. Válassza a Bővítmények lapot, és kövesse az utasításokat a konfiguráció véglegesítéséhez. Frissítse az reply-url
alkalmazásregisztráció értékeit.
A vezérlősík-folyamat futtatásának eredményeként a webalkalmazás URL-címének szükséges része egy, a környezetspecifikus változócsoportban elnevezett WEBAPP_URL_BASE
változóban lesz tárolva. A regisztrált alkalmazás webalkalmazás URL-címeit bármikor frissítheti az alábbi paranccsal.
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
Olvasói engedélyeket is meg kell adnia az App Service rendszer által hozzárendelt felügyelt identitásának. Nyissa meg az App Service-erőforrást. A bal oldalon válassza az Identitás lehetőséget. A Rendszer által hozzárendelt lapon válassza az Azure-szerepkör-hozzárendelések>Szerepkör-hozzárendelés hozzáadása lehetőséget. Válassza az Előfizetés lehetőséget hatókörként, az Olvasót pedig szerepkörként. Ezután válassza a Mentés lehetőséget. E lépés nélkül a webalkalmazás legördülő funkciója nem fog működni.
Most már meg kell látogatnia a webalkalmazást, és használhatja az SAP számítási feladatok zónáinak és az SAP rendszerinfrastruktúra üzembe helyezéséhez.