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.
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 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.
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
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.Azure DevOps kuruluşunuzda kullanmayı planladığınız kullanıcı hesabıyla oturum açın.
Giriş sayfanızdan kullanıcı ayarlarınızı açın ve Kişisel erişim belirteçleri'ni seçin.
Ş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.
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-General
bir 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-DEV
SDAF-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.
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
.
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:
Azure Portal oturum açın.
Dağıtıcı sanal makinesini içeren kaynak grubuna gidin.
Azure Bastion kullanarak sanal makineye Bağlan.
Varsayılan kullanıcı adı azureadm'dir.
Azure Key Vault'tan SSH Özel Anahtarı'na tıklayın.
Denetim düzlemini içeren aboneliği seçin.
Dağıtımcı anahtar kasasını seçin.
Gizli dizi listesinden -sshkey ile biten gizli diziyi seçin.
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.