Share via


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 $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 login --organization $Env:ADO_Organization
        }
        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
        }
    }
    
    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/main/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.

Screenshot that shows how to clone the repository.

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.

Screenshot that shows that source code is changed.

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.

Screenshot that shows how to create a service connection for GitHub.

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

  1. 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.

  2. Jelentkezzen be az Azure DevOps-szervezetben használni kívánt felhasználói fiókkal.

  3. 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.

    Diagram that shows the creation of a personal access token.

  4. 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.

    Diagram that shows the attributes of the personal access token.

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-Generaltá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_varsion=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.

Screenshot that shows how to create a service connection.

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 subscriptiona 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

Screenshot that shows repository permissions.

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:

  1. Jelentkezzen be az Azure Portalra.

  2. Nyissa meg az üzembe helyező virtuális gépet tartalmazó erőforráscsoportot.

  3. Csatlakozás a virtuális gépre az Azure Bastion használatával.

  4. Az alapértelmezett felhasználónév az azureadm.

  5. Válassza ki az SSH titkos kulcsát az Azure Key Vaultból.

  6. Válassza ki a vezérlősíkot tartalmazó előfizetést.

  7. Válassza ki a központi telepítési kulcstartót.

  8. A titkos kódok listájában válassza ki a -sshkey végződésű titkos kódot.

  9. 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.

Következő lépés