Aracılığıyla paylaş


Azure DevOps Services'dan SAP Deployment Automation Framework kullanma

Azure DevOps, altyapı dağıtımını ve yapılandırma ile SAP yükleme etkinliklerini gerçekleştirmek için çalıştırabileceğiniz işlem hatları sağlayarak dağıtım sürecini kolaylaştırır.

Yapılandırma dosyalarınızı depolamak için Azure Repos'ı ve altyapıyı ve SAP uygulamasını dağıtmak ve yapılandırmak için Azure Pipelines'ı kullanabilirsiniz.

Azure DevOps Services'a kaydolma

Azure DevOps Services'i kullanmak için bir Azure DevOps kuruluşuna ihtiyacınız vardır. Bir kuruluş, ilgili proje gruplarını bağlamak için kullanılır. Kuruluşunuzu Microsoft Entra Id'nize otomatik olarak bağlamak için iş veya okul hesabınızı kullanın. Hesap oluşturmak için Azure DevOps'u açın ve oturum açın veya yeni bir hesap oluşturun.

SAP Deployment Automation Framework için Azure DevOps Services'i yapılandırma

SAP Deployment Automation Framework için Azure DevOps Services'ın temel yüklemesini yapmak için aşağıdaki betiği kullanabilirsiniz.

PowerShell ISE'yi açın ve aşağıdaki betiği kopyalayın ve parametreleri ortamınızla eşleşecek şekilde güncelleştirin.

    $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
    }
    

Betiği çalıştırın ve yönergeleri izleyin. Betik, kimlik doğrulaması ve Azure DevOps projesinde görevleri gerçekleştirmek için tarayıcı pencerelerini açar.

Kodu doğrudan GitHub'dan çalıştırmayı seçebilir veya kodun bir kopyasını Azure DevOps projenize aktarabilirsiniz.

Projenin oluşturulduğunu onaylamak için Azure DevOps portalına gidin ve projeyi seçin. Deponun dolduruldığından ve işlem hatlarının oluşturulduğundan emin olun.

Önemli

Yerel iş istasyonunuzda aşağıdaki adımları çalıştırın. Ayrıca komutunu çalıştırarak en son Azure CLI'yi yüklediğinizden az upgrade emin olun.

Yeni bir iş yükü bölgesi için Azure DevOps Services yapıtlarını yapılandırma

Yeni bir iş yükü bölgesini desteklemek için gereken yapıtları dağıtmak için aşağıdaki betiği kullanın. Bu işlem, Azure DevOps'ta ve isteğe bağlı olarak dağıtım hizmet sorumlusunda değişken grubunu ve hizmet bağlantısını oluşturur.

PowerShell ISE'yi açın ve aşağıdaki betiği kopyalayın ve parametreleri ortamınızla eşleşecek şekilde güncelleştirin.

    $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
    

Örnek denetim düzlemi yapılandırması oluşturma

İşlem hattını çalıştırarak denetim düzlemi Create Sample Deployer Configuration için örnek bir yapılandırma oluşturabilirsiniz. Çalışırken uygun Azure bölgesini seçin. ayrıca Azure Güvenlik Duvarı ve Azure Bastion'ı dağıtmak isteyip istemediğinizi de denetleyebilirsiniz.

SAP Deployment Automation Framework için Azure DevOps Services'ın el ile yapılandırılması

SAP Deployment Automation Framework için Azure DevOps Services'i el ile yapılandırabilirsiniz.

Yeni proje oluşturma

Sap-automation GitHub deposundaki kodu ve ortam yapılandırma dosyalarını depolamak için Azure Repos'ı kullanabilirsiniz.

Azure DevOps'u açın ve Yeni Proje'yi seçip proje ayrıntılarını girerek yeni bir proje oluşturun. Proje, dağıtım etkinlikleri gerçekleştirmek için Azure Repos kaynak denetimi deposunu ve Azure Pipelines'ı içerir.

Yeni Proje'yi görmüyorsanız, kuruluşta yeni projeler oluşturma izinlerinizin olduğundan emin olun.

Projenin URL'sini kaydedin.

Depoyu içeri aktarma

SAP Deployment Automation Framework Bootstrap GitHub deposunu Azure Repos'a aktararak başlayın.

Depolar bölümüne gidin ve Depo içeri aktar'ı seçin. Depoyu https://github.com/Azure/sap-automation-bootstrap.git Azure DevOps'a aktarın. Daha fazla bilgi için bkz . Depo içeri aktarma.

Bir depoyu içeri aktaramıyorsanız, depoyu el ile oluşturabilirsiniz. Ardından IÇERIĞI SAP Deployment Automation Framework GitHub Bootstrap deposundan içeri aktarabilirsiniz.

El ile içeri aktarma için depo oluşturma

Bu adımı yalnızca depoyu doğrudan içeri aktaramıyorsanız gerçekleştirin.

Çalışma alanı deposunu oluşturmak için Depolar bölümünde, Proje ayarları'nın altında Oluştur'u seçin.

Depoyu seçin, Git yazın ve depo için bir ad girin. Örneğin SAP Yapılandırma Deposu'yu kullanın.

Depoyu kopyalama

İçeriğin daha kapsamlı bir düzenleme özelliğini sağlamak için depoyu yerel bir klasöre kopyalayabilir ve içeriği yerel olarak düzenleyebilirsiniz.

Depoyu yerel bir klasöre kopyalamak için portalın Depolar bölümünde, Dosyalar'ın altında Kopyala'yı seçin. Daha fazla bilgi için bkz . Depo kopyalama.

Screenshot that shows how to clone the repository.

Yerel kopya kullanarak depo içeriğini el ile içeri aktarma

Ayrıca içeriği SAP Deployment Automation Framework deposundan el ile indirebilir ve Azure DevOps deposunun yerel kopyasına ekleyebilirsiniz.

Depoya https://github.com/Azure/SAP-automation-samples gidin ve depo içeriğini .zip dosyası olarak indirin. Kod'u ve ardından ZIP'i İndir'i seçin.

.zip dosyasındaki içeriği yerel kopyanızın kök klasörüne kopyalayın.

Visual Studio Code'da yerel klasörü açın. Değişikliklerin burada gösterilen kaynak denetimi simgesiyle gösterge tarafından eşitlenmesi gerektiğini görmeniz gerekir.

Screenshot that shows that source code is changed.

Kaynak denetimi simgesini seçin ve değişiklik hakkında bir ileti sağlayın. Örneğin, GitHub'dan içeri aktar yazın ve değişiklikleri işlemek için Ctrl+Enter tuşlarına basın. Ardından Değişiklikleri Eşitle'yi seçerek değişiklikleri depoya geri eşitleyin.

Terraform ve Ansible kodu için kaynağı seçme

SAP Deployment Automation Framework kodunu doğrudan GitHub'dan çalıştırabilir veya yerel olarak içeri aktarabilirsiniz.

Kodu yerel bir depodan çalıştırma

SAP Deployment Automation Framework kodunu yerel Azure DevOps projesinden çalıştırmak istiyorsanız Azure DevOps projesinde ayrı bir kod deposu ve bir yapılandırma deposu oluşturmanız gerekir:

  • Yapılandırma deposunun adı: Same as the DevOps Project name. Kaynak: https://github.com/Azure/sap-automation-bootstrap.git.
  • Kod deposunun adı: sap-automation. Kaynak: https://github.com/Azure/sap-automation.git.
  • Örnek ve şablon deposunun adı: sap-samples. Kaynak: https://github.com/Azure/sap-automation-samples.git.

Kodu doğrudan GitHub'dan çalıştırma

Kodu doğrudan GitHub'dan çalıştırmak istiyorsanız, Içeriği GitHub'dan çekebilmek için Azure DevOps kimlik bilgilerini sağlamanız gerekir.

GitHub hizmet bağlantısını oluşturma

Kodu GitHub'dan çekmek için bir GitHub hizmet bağlantısına ihtiyacınız vardır. Daha fazla bilgi için bkz . Hizmet bağlantılarını yönetme.

Hizmet bağlantısını oluşturmak için Project Ayarlar'e gidin ve İşlem Hatları bölümünün altında Hizmet bağlantıları'na gidin.

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

Hizmet bağlantı türü olarak GitHub'ı seçin. OAuth Yapılandırması açılan listesinde Azure Pipelines'ı seçin.

GitHub'da oturum açmak için Yetki ver'i seçin.

GitHub'a SDAF Bağlan gibi bir hizmet bağlantısı adı girin. Tüm işlem hatlarına erişim izni ver onay kutusunun seçili olduğundan emin olun. Hizmet bağlantısını kaydetmek için Kaydet'i seçin.

Web uygulamasını ayarlama

Otomasyon çerçevesi isteğe bağlı olarak SAP iş yükü bölgesi ve sistem yapılandırma dosyalarına yardımcı olmak için denetim düzleminin bir parçası olarak bir web uygulaması sağlar. Web uygulamasını kullanmak istiyorsanız, önce kimlik doğrulaması amacıyla bir uygulama kaydı oluşturmanız gerekir. Azure Cloud Shell'i açın ve aşağıdaki komutları çalıştırın.

değerini gerektiği gibi ortamınızla değiştirin MGMT .

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

Uygulama kayıt kimliğini ve parola değerlerini daha sonra kullanmak üzere kaydedin.

Azure Pipelines oluşturma

Azure Pipelines, YAML dosyaları olarak uygulanır. Depodaki deploy/pipelines klasöründe depolanırlar.

Denetim düzlemi dağıtım işlem hattı

Denetim düzlemi dağıtım işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/01-deploy-control-plane.yml
Adı Denetim düzlemi dağıtımı

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını Denetim düzlemi dağıtımı olarak yeniden adlandırın.

SAP iş yükü bölgesi dağıtım işlem hattı

SAP iş yükü bölgesi işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/02-sap-workload-zone.yml
Adı SAP iş yükü bölgesi dağıtımı

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını SAP iş yükü bölgesi dağıtımı olarak yeniden adlandırın.

SAP sistem dağıtım işlem hattı

SAP sistem dağıtım işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/03-sap-system-deployment.yml
Adı SAP sistem dağıtımı (altyapı)

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını SAP sistem dağıtımı (altyapı) olarak yeniden adlandırın.

SAP yazılım alma işlem hattı

SAP yazılım alma işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path deploy/pipelines/04-sap-software-download.yml
Adı SAP yazılım alımı

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını SAP yazılım alımı olarak yeniden adlandırın.

SAP yapılandırması ve yazılım yükleme işlem hattı

SAP yapılandırması ve yazılım yükleme işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/05-DB-and-SAP-installation.yml
Adı Yapılandırma ve SAP yüklemesi

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını SAP yapılandırması ve yazılım yüklemesi olarak yeniden adlandırın.

Dağıtım kaldırma işlem hattı

Dağıtım kaldırma işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/10-remover-terraform.yml
Adı Dağıtımı kaldırma

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını Dağıtım kaldırma olarak yeniden adlandırın.

Kontrol düzlemi kaldırma işlem hattı

Denetim düzlemi dağıtım kaldırma işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/12-remove-control-plane.yml
Adı Kontrol düzlemi kaldırma

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını Denetim düzlemi kaldırma olarak yeniden adlandırın.

Azure Resource Manager kullanarak dağıtım kaldırma işlem hattı

Dağıtımı kaldırma Azure Resource Manager işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/11-remover-arm-fallback.yml
Adı Azure Resource Manager kullanarak dağıtımı kaldırma

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve ARM işlemcisini kullanarak işlem hattını Dağıtım kaldırma olarak yeniden adlandırın.

Dekont

Bu işlem hattını yalnızca son çare olarak kullanın. Yalnızca kaynak gruplarının kaldırılması, yeniden dağıtımları zorlaştırabilecek kalıntılar bırakır.

Depo güncelleştirici işlem hattı

Depo güncelleştirici işlem hattını oluşturun. İşlem Hatları bölümünde Yeni İşlem Hattı'nı seçin. Kodunuzun kaynağı olarak Azure Repos Git'i seçin. İşlem hattınızı mevcut bir Azure Pipelines YAML dosyasını kullanacak şekilde yapılandırın. İşlem hattını aşağıdaki ayarlarla belirtin:

Ayar Değer
Depo "Kök depo" (proje adıyla aynı)
Şube main
Path pipelines/20-update-ado-repository.yml
Adı Depo güncelleştiricisi

İşlem hattını kaydedin. Kaydet'i görmek için Çalıştır'ın yanındaki köşeli çift ayraç seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağdaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve işlem hattını Depo güncelleştiricisi olarak yeniden adlandırın.

Kullanmak istediğiniz sap-automation deposunda bir güncelleştirme olduğunda bu işlem hattı kullanılmalıdır.

Temizleme görevini Visual Studio Market'ten içeri aktarma

İşlem hatları, dağıtım sonrasında temizleme etkinlikleri gerçekleştirmek için özel bir görev kullanır. Özel görevi Derleme Sonrası Temizleme bölümünden yükleyebilirsiniz. İşlem hatlarını çalıştırmadan önce Azure DevOps kuruluşunuza yükleyin.

Şirket içinde barındırılan bir aracı için hazırlıklar

  1. Kuruluş Ayarlar'ne giderek bir aracı havuzu oluşturun. İşlem Hatları bölümünde Aracı Havuzları>Havuz Ekle'yi seçin. Havuz türü olarak Şirket içinde barındırılan'ı seçin. Denetim düzlemi ortamıyla hizalamak için havuzu adlandırın. Örneğin, kullanın MGMT-WEEU-POOL. Tüm işlem hatlarına erişim izni ver'in seçili olduğundan emin olun ve havuzu oluşturmak için Oluştur'u seçin.

  2. Azure DevOps kuruluşunuzda kullanmayı planladığınız kullanıcı hesabıyla oturum açın.

  3. Giriş sayfanızdan kullanıcı ayarlarınızı açın ve Kişisel erişim belirteçleri'ni seçin.

    Diagram that shows the creation of a personal access token.

  4. Şu ayarlarla kişisel erişim belirteci oluşturun:

    • Aracı Havuzları: Oku ve yönet'i seçin.

    • Derleme: Oku ve yürüt'ü seçin.

    • Kod: Oku ve yaz'ı seçin.

    • Değişken Grupları: Oku, oluştur ve yönet'i seçin.

      Oluşturulan belirteç değerini not edin.

    Diagram that shows the attributes of the personal access token.

Değişken tanımları

Dağıtım işlem hatları, değişken grupları kullanılarak tanımlanan önceden tanımlanmış parametre değerleri kümesini kullanacak şekilde yapılandırılır.

Ortak değişkenler

Yaygın değişkenler tüm dağıtım işlem hatları tarafından kullanılır. Bunlar adlı SDAF-Generalbir değişken grubunda depolanır.

İşlem Hatları bölümündeki Kitaplık sayfasını kullanarak adlı SDAF-General yeni bir değişken grubu oluşturun. Aşağıdaki değişkenleri ekleyin:

Değişken Değer Notlar
Deployment_Configuration_Path ÇALIŞMA ALANLARI Örnek yapılandırmayı test için ÇALIŞMA ALANI yerine kullanın samples/WORKSPACES .
Şube main
S-Kullanıcı Adı <SAP Support user account name>
S Parolası <SAP Support user password> Kilit simgesini seçerek değişken türünü gizli dizi olarak değiştirin.
tf_version 1.6.0 Kullanılacak Terraform sürümü. Bkz . Terraform indirme.

Değişkenleri kaydedin.

Alternatif olarak, grupları ayarlamak için Azure DevOps CLI'yı kullanabilirsiniz.

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

İşlem hattı izinlerini kullanarak tüm işlem hatları için izin atamayı unutmayın.

Ortama özgü değişkenler

Her ortamın farklı dağıtım kimlik bilgileri olabileceği için ortam başına bir değişken grubu oluşturmanız gerekir. Örneğin, veSDAF-DEVSDAF-QA kullanınSDAF-MGMT.

İşlem Hatları bölümündeki Kitaplık sayfasını kullanarak denetim düzlemi ortamı için adlı SDAF-MGMT yeni bir değişken grubu oluşturun. Aşağıdaki değişkenleri ekleyin:

Değişken Değer Notlar
Aracı Azure Pipelines veya aracı havuzunun adı Bu havuz sonraki bir adımda oluşturulur.
CP_ARM_CLIENT_ID Service principal application ID
CP_ARM_OBJECT_ID Service principal object ID
CP_ARM_CLIENT_SECRET Service principal password Kilit simgesini seçerek değişken türünü gizli dizi olarak değiştirin.
CP_ARM_SUBSCRIPTION_ID Target subscription ID
CP_ARM_TENANT_ID Tenant ID hizmet sorumlusu için
AZURE_CONNECTION_NAME Önceden oluşturulan bağlantı adı
sap_fqdn SAP tam etki alanı adı, örneğin, sap.contoso.net Yalnızca Özel DNS kullanılmadıysa gereklidir.
FENCING_SPN_ID Service principal application ID eskrim aracısı için Eskrim aracısı için hizmet sorumlusu kullanan yüksek oranda kullanılabilir dağıtımlar için gereklidir.
FENCING_SPN_PWD Service principal password eskrim aracısı için Eskrim aracısı için hizmet sorumlusu kullanan yüksek oranda kullanılabilir dağıtımlar için gereklidir.
FENCING_SPN_TENANT Service principal tenant ID eskrim aracısı için Eskrim aracısı için hizmet sorumlusu kullanan yüksek oranda kullanılabilir dağıtımlar için gereklidir.
PAT <Personal Access Token> Önceki adımda tanımlanan kişisel belirteci kullanın.
HAVUZU <Agent Pool name> Bu ortam için kullanılacak aracı havuzu.
APP_REGISTRATION_APP_ID App registration application ID Web uygulaması dağıtılırken gereklidir.
WEB_APP_CLIENT_SECRET App registration password Web uygulaması dağıtılırken gereklidir.
SDAF_GENERAL_GROUP_ID SDAF-Genel grubunun grup kimliği Değişken grubuna tarayıcı kullanılarak erişilirken KIMLIK URL parametresinden variableGroupId alınabilir. Örneğin: variableGroupId=8.
WORKLOADZONE_PIPELINE_ID İşlem hattının SAP workload zone deployment kimliği Kimlik, Azure DevOps'taki işlem hattı sayfasından URL parametresinden definitionId alınabilir. Örneğin: definitionId=31.
SYSTEM_PIPELINE_ID İşlem hattının SAP system deployment (infrastructure) kimliği Kimlik, Azure DevOps'taki işlem hattı sayfasından URL parametresinden definitionId alınabilir. Örneğin: definitionId=32.

Değişkenleri kaydedin.

İşlem hattı izinlerini kullanarak tüm işlem hatları için izin atamayı unutmayın.

Web uygulamasını kullanırken, Derleme Hizmeti'nin en azından Katkıda Bulunma izinlerine sahip olduğundan emin olun.

Sonraki ortam değişken grubunu oluşturmak için kopyalama işlevini kullanabilirsiniz. APP_REGISTRATION_APP_ID, WEB_APP_CLIENT_SECRET, SDAF_GENERAL_GROUP_ID, WORKLOADZONE_PIPELINE_ID ve SYSTEM_PIPELINE_ID yalnızca SDAF-MGMT grubu için gereklidir.

Hizmet bağlantısı oluşturma

Azure kaynaklarını kaldırmak için bir Azure Resource Manager hizmet bağlantısına ihtiyacınız vardır. Daha fazla bilgi için bkz . Hizmet bağlantılarını yönetme.

Hizmet bağlantısını oluşturmak için Project Ayarlar'e gidin. İşlem Hatları bölümünde Hizmet bağlantıları'nı seçin.

Screenshot that shows how to create a service connection.

Hizmet bağlantı türü olarak Azure Resource Manager'ı ve kimlik doğrulama yöntemi olarak Hizmet sorumlusu (el ile) seçeneğini belirleyin. Genellikle denetim düzlemi aboneliği olan hedef aboneliği girin. Hizmet sorumlusu ayrıntılarını girin. Kimlik bilgilerini doğrulamak için Doğrula'yı seçin. Hizmet sorumlusu oluşturma hakkında daha fazla bilgi için bkz . Hizmet sorumlusu oluşturma.

Örneğin, bir Hizmet bağlantı adı girin ve kullanın Connection to MGMT subscription. Tüm işlem hatlarına erişim izni ver onay kutusunun seçili olduğundan emin olun. Hizmet bağlantısını kaydetmek için Doğrula ve kaydet'i seçin.

İzinler

İşlem hatlarının çoğu Azure Repos'a dosya ekler ve bu nedenle çekme izinleri gerektirir. Project Ayarlar'da, Depolar bölümünde kaynak kod deposunun Güvenlik sekmesini seçin ve katkıda bulunma izinlerini öğesine atayınBuild Service.

Screenshot that shows repository permissions.

Kontrol düzlemini dağıtma

Yeni oluşturulan işlem hatları varsayılan görünümde görünmeyebilir. Son sekmesini seçin ve yeni işlem hatlarını görüntülemek için Tüm sekmeler'e dönün.

Denetim düzlemi dağıtım işlem hattını seçin ve dağıtanın ve SAP kitaplığının yapılandırma adlarını girin. Kontrol düzlemini dağıtmak için Çalıştır'ı seçin. Yapılandırma web uygulamasını ayarlamak istiyorsanız Yapılandırma web uygulamasını dağıt onay kutusunu seçtiğinizden emin olun.

Azure DevOps Services şirket içinde barındırılan aracıyı el ile yapılandırma

El ile yapılandırma yalnızca Azure DevOps Services aracısı otomatik olarak yapılandırılmadıysa gereklidir. Devam etmeden önce aracı havuzunun boş olup olmadığını denetleyin.

Dağıtımcıya bağlanmak için:

  1. Azure Portal oturum açın.

  2. Dağıtıcı sanal makinesini içeren kaynak grubuna gidin.

  3. Azure Bastion kullanarak sanal makineye Bağlan.

  4. Varsayılan kullanıcı adı azureadm'dir.

  5. Azure Key Vault'tan SSH Özel Anahtarı'na tıklayın.

  6. Denetim düzlemini içeren aboneliği seçin.

  7. Dağıtımcı anahtar kasasını seçin.

  8. Gizli dizi listesinden -sshkey ile biten gizli diziyi seçin.

  9. Sanal makineye bağlanın.

Dağıtıcıyı yapılandırmak için aşağıdaki betiği çalıştırın:

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

Azure DevOps aracısını ayarlamak için dağıtıcıyı yeniden başlatın, yeniden bağlanın ve aşağıdaki betiği çalıştırın:

cd ~/Azure_SAP_Automated_Deployment/

$DEPLOYMENT_REPO_PATH/deploy/scripts/setup_ado.sh

Lisansı kabul edin ve sunucu URL'si istendiğinde Azure DevOps projesini oluştururken yakaladığınız URL'yi girin. Kimlik doğrulaması için PAT'yi seçin ve önceki adımdaki belirteç değerini girin.

İstendiğinde, önceki adımda oluşturduğunuz uygulama havuzu adını girin. Varsayılan aracı adını ve varsayılan çalışma klasörü adını kabul edin. Aracı şimdi yapılandırılır ve başlatılır.

Denetim düzlemi web uygulamasını dağıtma

Denetim düzlemi deploy the web app infrastructure dağıtım işlem hattını çalıştırdığınızda parametresinin seçilmesi, web uygulamasını barındırmak için gereken altyapıyı sağlar. Web uygulaması dağıtma işlem hattı, uygulamanın yazılımını bu altyapıda yayımlar.

Dağıtımın bitmesini bekleyin. Uzantılar sekmesini seçin ve yapılandırmayı sonlandırmak için yönergeleri izleyin. reply-url Uygulama kaydı değerlerini güncelleştirin.

Denetim düzlemi işlem hattını çalıştırmanın bir sonucu olarak, web uygulaması URL'sinin gerekli olan bir bölümü ortama özgü değişken grubunuzda adlı WEBAPP_URL_BASE bir değişkende depolanır. İstediğiniz zaman, aşağıdaki komutu kullanarak kayıtlı uygulama web uygulamasının URL'lerini güncelleştirebilirsiniz.

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

Ayrıca app service sistem tarafından atanan yönetilen kimliğe okuyucu izinleri vermeniz gerekir. App Service kaynağına gidin. Sol tarafta Kimlik'i seçin. Sistem tarafından atanan sekmesinde Azure rol atamaları Rol ataması> ekle'yi seçin. Kapsam olarak Abonelik ve rol olarak Okuyucu'ya tıklayın. Ardından Kaydet'i seçin. Bu adım olmadan web uygulaması açılan listesi işlevi çalışmaz.

Artık web uygulamasını ziyaret edebilmeniz ve SAP iş yükü bölgelerini ve SAP sistem altyapısını dağıtmak için kullanabilmeniz gerekir.

Sonraki adım