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 doldurulduğundan ve pipeline'ların oluşturulduğundan emin olun.

Önemli

Yerel iş istasyonunuzda aşağıdaki adımları çalıştırın. Ayrıca az upgrade komutunu çalıştırarak en son Azure CLI’nin yüklü olduğundan 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 öğeleri dağıtmak amacıyla 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 klonlama.

Deponun nasıl kopyalandığını gösteren ekran görüntüsü.

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.

Kaynak kodun değiştirildiğini gösteren ekran görüntüsü.

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 Proje Ayarları'na gidin ve İşlem Hatları bölümünün altında Hizmet bağlantıları'na gidin.

GitHub için hizmet bağlantısı oluşturmayı gösteren ekran görüntüsü.

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

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

GitHub'a SDAF Bağlantısı 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.

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

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.

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

Denetim düzlemi dağıtım 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/01-deploy-control-plane.yml
İsim Denetim düzlemi dağıtımı

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağda bulunan üç 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/02-sap-workload-zone.yml
İsim SAP iş yükü bölgesi dağıtımı

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/03-sap-system-deployment.yml
İsim SAP sistem dağıtımı (altyapı)

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol deploy/pipelines/04-sap-software-download.yml
İsim SAP yazılım alımı

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini 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 pipelin'i 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/05-DB-and-SAP-installation.yml
İsim Yapılandırma ve SAP yüklemesi

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini 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 boru hattını SAP yapılandırması ve yazılım yüklemesi olarak adlandırın.

Dağıtım kaldırma boru 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/10-remover-terraform.yml
İsim Dağıtımı kaldırma

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini 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ı

Kontrol düzlemi dağıtımını 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/12-remove-control-plane.yml
İsim Kontrol düzleminin kaldırılması

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini 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 pipeline'i Denetim düzlemi kaldırma yeni adıyla 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/11-remover-arm-fallback.yml
İsim Azure Resource Manager kullanarak dağıtımı kaldırma

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini 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ı ARM işlemci kullanarak Dağıtım kaldırma olarak yeniden adlandırın.

Uyarı

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üncelleyici 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:

Ayarlar Değer
Repo anlaşması "Kök depo" (proje adıyla aynı)
Şube ana
Yol pipelines/20-update-ado-repository.yml
İsim Depo güncelleştiricisi

Veri hattını kaydet. Kaydet'i görmek için Çalıştır'ın yanındaki ok işaretini seçin. İşlem Hatları bölümüne gidin ve işlem hattını seçin. Sağ taraftaki üç nokta menüsünden Yeniden Adlandır/Taşı'yı seçin ve pipeline'ı 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

Boru hatları, dağıtım sonrasında temizlik faaliyetleri 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.

Kendi kendine barındırılan bir aracı için hazırlıklar

  1. Kuruluş Ayarları'na giderek bir aracı havuzu oluşturun. İşlem Hatları bölümünde Aracı Havuzları>Havuz Ekle'yi seçin. Havuz türü olarak Kendi kendine barındırılan'ı seçin. Kontrol düzlemi ortamına uygun olacak şekilde havuza bir isim verin. Ö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.

    Kişisel erişim belirtecinin oluşturulmasını gösteren diyagram.

  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.

    Kişisel erişim belirtecinin özniteliklerini gösteren diyagram.

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.

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

Değişken Değer Notlar
Dağıtım_Konfigürasyon_Yolu ÇALIŞMA ALANI Örnek yapılandırmayı test için ÇALIŞMA ALANI yerine kullanın samples/WORKSPACES .
Şube ana
S-Kullanıcı Adı <SAP Support user account name>
S Parolası <SAP Support user password> Kilit simgesini seçerek değişkenin türünü gizli 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, SDAF-MGMT, SDAF-DEV ve SDAF-QA kullanın.

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

Değişken Değer Notlar
Temsilci 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şkenin türünü gizli olarak değiştirin.
CP_ARM_SUBSCRIPTION_ID Target subscription ID
CP_ARM_TENANT_ID Tenant ID hizmet sorumlusu için
AZURE_BAĞLANTI_ADI Önceden oluşturulan bağlantı adı
sap_fqdn SAP tam nitelikli alan adı, örneğin sap.contoso.net Yalnızca Özel DNS kullanılmadıysa gereklidir.
FENCING_SPN_ID Service principal application ID eskrim acentası için Yüksek erişilebilirlik sağlayan dağıtımlar için eskrim ajanı olarak hizmet veren hizmet sorumlusunun kullanılması gereklidir.
FENCING_SPN_PWD Service principal password eskrim acentası için Yüksek erişilebilirlik sağlayan dağıtımlar için eskrim ajanı olarak hizmet veren hizmet sorumlusunun kullanılması gereklidir.
FENCING_SPN_TENANT Service principal tenant ID eskrim acentası için Yüksek erişilebilirlik sağlayan dağıtımlar için eskrim ajanı olarak hizmet veren hizmet sorumlusunun kullanılması gereklidir.
PAT <Personal Access Token> Önceki adımda tanımlanan kişisel belirteci kullanın.
HAVUZ <Agent Pool name> Bu ortam için kullanılacak ajan havuzu.
UYGULAMA_KAYDI_UYGULAMA_KİMLİĞİ App registration application ID Web uygulaması dağıtılırken gereklidir.
WEB_UYGULAMA_MÜŞTERİ_SIRRI App registration password Web uygulaması dağıtılırken gereklidir.
SDAF_GENEL_GRUP_KİMLİĞİ SDAF-General 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 Proje Ayarları'na gidin. İşlem Hatları bölümünde Hizmet bağlantıları'nı seçin.

Hizmet bağlantısının nasıl oluşturulacağını gösteren ekran görüntüsü.

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 giriniz. 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. Proje Ayarları'nda, Depolar bölümünde kaynak kod deposunun Güvenlik sekmesini seçin ve katkıda bulunma izinlerini öğesine atayınBuild Service.

Depo izinlerini gösteren ekran görüntüsü.

Kontrol düzlemini dağıtın

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 sekmelere 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çeneğine tıklayın. 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 kendi kendine barındırılan ajanı 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ınaoturum açın.

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

  3. Azure Bastion kullanarak sanal makineye bağlanın.

  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, uygulama hizmeti 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 seçin. 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