Menggunakan Kerangka Kerja Otomatisasi Penyebaran SAP dari Layanan Azure DevOps

Azure DevOps menyederhanakan proses penyebaran dengan menyediakan alur yang dapat Anda jalankan untuk melakukan penyebaran infrastruktur dan konfigurasi dan aktivitas penginstalan SAP.

Anda dapat menggunakan Azure Repos untuk menyimpan file konfigurasi Anda dan menggunakan Azure Pipelines untuk menyebarkan dan mengonfigurasi infrastruktur dan aplikasi SAP.

Daftar untuk Layanan Azure DevOps

Untuk menggunakan Azure DevOps Services, Anda memerlukan organisasi Azure DevOps. Sebuah organisasi digunakan untuk menghubungkan kelompok proyek terkait. Gunakan akun kerja atau sekolah Anda untuk menyambungkan organisasi Anda secara otomatis ke ID Microsoft Entra Anda. Untuk membuat akun, buka Azure DevOps dan masuk atau buat akun baru.

Mengonfigurasi Layanan Azure DevOps untuk Kerangka Kerja Otomatisasi Penyebaran SAP

Anda dapat menggunakan skrip berikut untuk melakukan penginstalan dasar Azure DevOps Services for SAP Deployment Automation Framework.

Buka PowerShell ISE dan salin skrip berikut dan perbarui parameter agar sesuai dengan lingkungan Anda.

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

Jalankan skrip dan ikuti instruksinya. Skrip membuka jendela browser untuk autentikasi dan untuk melakukan tugas di proyek Azure DevOps.

Anda dapat memilih untuk menjalankan kode langsung dari GitHub atau Anda dapat mengimpor salinan kode ke dalam proyek Azure DevOps Anda.

Untuk mengonfirmasi bahwa proyek telah dibuat, buka portal Azure DevOps dan pilih proyek. Pastikan bahwa repositori diisi dan alur dibuat.

Penting

Jalankan langkah-langkah berikut di stasiun kerja lokal Anda. Pastikan juga bahwa Anda memiliki Azure CLI terbaru yang diinstal dengan menjalankan az upgrade perintah .

Mengonfigurasi artefak Azure DevOps Services untuk zona beban kerja baru

Gunakan skrip berikut untuk menyebarkan artefak yang diperlukan untuk mendukung zona beban kerja baru. Proses ini membuat grup variabel dan koneksi layanan di Azure DevOps dan, secara opsional, perwakilan layanan penyebaran.

Buka PowerShell ISE dan salin skrip berikut dan perbarui parameter agar sesuai dengan lingkungan Anda.

    $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
    

Membuat konfigurasi sarana kontrol sampel

Anda dapat menjalankan Create Sample Deployer Configuration alur untuk membuat konfigurasi sampel untuk sarana kontrol. Saat berjalan, pilih wilayah Azure yang sesuai. Anda juga dapat mengontrol apakah Anda ingin menyebarkan Azure Firewall dan Azure Bastion.

Konfigurasi manual Azure DevOps Services untuk Kerangka Kerja Otomatisasi Penyebaran SAP

Anda dapat mengonfigurasi Azure DevOps Services untuk Kerangka Kerja Otomatisasi Penyebaran SAP secara manual.

Membuat proyek baru

Anda dapat menggunakan Azure Repos untuk menyimpan kode dari repositori GitHub otomatisasi sap dan file konfigurasi lingkungan.

Buka Azure DevOps dan buat proyek baru dengan memilih Proyek Baru dan masukkan detail proyek. Proyek ini berisi repositori kontrol sumber Azure Repos dan Azure Pipelines untuk melakukan aktivitas penyebaran.

Jika Anda tidak melihat Proyek Baru, pastikan Anda memiliki izin untuk membuat proyek baru di organisasi.

Catat URL proyek.

Mengimpor repositori

Mulailah dengan mengimpor repositori GitHub SAP Deployment Automation Framework Bootstrap ke Azure Repos.

Buka bagian Repositori dan pilih Impor repositori. https://github.com/Azure/sap-automation-bootstrap.git Impor repositori ke Azure DevOps. Untuk informasi selengkapnya, lihat Mengimpor repositori.

Jika Anda tidak dapat mengimpor repositori, Anda dapat membuat repositori secara manual. Kemudian Anda dapat mengimpor konten dari repositori SAP Deployment Automation Framework GitHub Bootstrap ke dalamnya.

Membuat repositori untuk impor manual

Hanya lakukan langkah ini jika Anda tidak dapat mengimpor repositori secara langsung.

Untuk membuat repositori ruang kerja, di bagian Repos , di bawah Pengaturan proyek, pilih Buat.

Pilih repositori, masukkan Git, dan berikan nama untuk repositori. Misalnya, gunakan Repositori Konfigurasi SAP.

Mengklon repositori

Untuk menyediakan kemampuan pengeditan konten yang lebih komprehensif, Anda dapat mengkloning repositori ke folder lokal dan mengedit konten secara lokal.

Untuk mengkloning repositori ke folder lokal, pada bagian Repos portal, di bawah File, pilih Kloning. Untuk informasi selengkapnya, lihat Mengkloning repositori.

Screenshot that shows how to clone the repository.

Mengimpor konten repositori secara manual dengan menggunakan klon lokal

Anda juga dapat mengunduh konten secara manual dari repositori Kerangka Kerja Automasi Penyebaran SAP dan menambahkannya ke klon lokal repositori Azure DevOps Anda.

https://github.com/Azure/SAP-automation-samples Buka repositori dan unduh konten repositori sebagai file .zip. Pilih Kode dan pilih Unduh ZIP.

Salin konten dari file .zip ke folder akar klon lokal Anda.

Buka folder lokal di Visual Studio Code. Anda akan melihat bahwa perubahan perlu disinkronkan oleh indikator oleh ikon kontrol sumber yang diperlihatkan di sini.

Screenshot that shows that source code is changed.

Pilih ikon kontrol sumber dan berikan pesan tentang perubahan tersebut. Misalnya, masukkan Impor dari GitHub dan pilih Ctrl+Enter untuk menerapkan perubahan. Selanjutnya, pilih Sinkronkan Perubahan untuk menyinkronkan perubahan kembali ke repositori.

Pilih sumber untuk kode Terraform dan Ansible

Anda dapat menjalankan kode Kerangka Kerja Automasi Penyebaran SAP langsung dari GitHub atau Anda dapat mengimpornya secara lokal.

Menjalankan kode dari repositori lokal

Jika Anda ingin menjalankan kode Kerangka Kerja Automasi Penyebaran SAP dari proyek Azure DevOps lokal, Anda perlu membuat repositori kode terpisah dan repositori konfigurasi dalam proyek Azure DevOps:

  • Nama repositori konfigurasi: Same as the DevOps Project name. Sumbernya adalah https://github.com/Azure/sap-automation-bootstrap.git.
  • Nama repositori kode: sap-automation. Sumbernya adalah https://github.com/Azure/sap-automation.git.
  • Nama sampel dan repositori templat: sap-samples. Sumbernya adalah https://github.com/Azure/sap-automation-samples.git.

Jalankan kode langsung dari GitHub

Jika Anda ingin menjalankan kode langsung dari GitHub, Anda perlu memberikan kredensial untuk Azure DevOps agar dapat menarik konten dari GitHub.

Membuat koneksi layanan GitHub

Untuk menarik kode dari GitHub, Anda memerlukan koneksi layanan GitHub. Untuk informasi selengkapnya, lihat Mengelola koneksi layanan.

Untuk membuat koneksi layanan, buka Proyek Pengaturan dan di bawah bagian Alur, buka Koneksi layanan.

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

Pilih GitHub sebagai jenis koneksi layanan. Pilih Azure Pipelines di menu dropdown Konfigurasi OAuth.

Pilih Otorisasi untuk masuk ke GitHub.

Masukkan nama koneksi layanan, misalnya, SDAF Koneksi ion ke GitHub. Pastikan bahwa kotak centang Berikan izin akses ke semua alur dipilih. Pilih Simpan untuk menyimpan koneksi layanan.

Menyiapkan aplikasi web

Kerangka kerja otomatisasi secara opsional memprovisikan aplikasi web sebagai bagian dari sarana kontrol untuk membantu zona beban kerja SAP dan file konfigurasi sistem. Jika ingin menggunakan aplikasi web, Anda harus terlebih dahulu membuat pendaftaran aplikasi untuk tujuan autentikasi. Buka Azure Cloud Shell dan jalankan perintah berikut.

Ganti MGMT dengan lingkungan Anda, seperlunya.

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

Simpan ID pendaftaran aplikasi dan nilai kata sandi untuk digunakan nanti.

Membuat Azure Pipelines

Azure Pipelines diimplementasikan sebagai file YAML. Mereka disimpan di folder deploy/pipelines di repositori.

Alur penyebaran sarana kontrol

Buat alur penyebaran sarana kontrol. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/01-deploy-control-plane.yml
Nama Penyebaran sarana kontrol

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindahkan dari menu elipsis di sebelah kanan dan ganti nama alur sebagai penyebaran sarana kontrol.

Alur penyebaran zona beban kerja SAP

Buat alur zona beban kerja SAP. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/02-sap-workload-zone.yml
Nama Penyebaran zona beban kerja SAP

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindahkan dari menu elipsis di sebelah kanan dan ganti nama alur sebagai penyebaran zona beban kerja SAP.

Alur penyebaran sistem SAP

Buat alur penyebaran sistem SAP. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/03-sap-system-deployment.yml
Nama Penyebaran sistem SAP (infrastruktur)

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindah dari menu elipsis di sebelah kanan dan ganti nama alur sebagai penyebaran sistem SAP (infrastruktur).

Alur akuisisi perangkat lunak SAP

Buat alur akuisisi perangkat lunak SAP. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur deploy/pipelines/04-sap-software-download.yml
Nama Akuisisi perangkat lunak SAP

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindah dari menu elipsis di sebelah kanan dan ganti nama alur sebagai akuisisi perangkat lunak SAP.

Konfigurasi SAP dan alur instalasi perangkat lunak

Buat konfigurasi SAP dan alur penginstalan perangkat lunak. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/05-DB-and-SAP-installation.yml
Nama Konfigurasi dan instalasi SAP

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindahkan dari menu elipsis di sebelah kanan dan ganti nama alur sebagai konfigurasi SAP dan penginstalan perangkat lunak.

Alur penghapusan penyebaran

Buat alur penghapusan penyebaran. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/10-remover-terraform.yml
Nama Penghapusan penyebaran

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindahkan dari menu elipsis di sebelah kanan dan ganti nama alur sebagai Penghapusan penyebaran.

Alur penghapusan sarana kontrol

Buat alur penghapusan penyebaran sarana kontrol. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/12-remove-control-plane.yml
Nama Penghapusan sarana kontrol

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindahkan dari menu elipsis di sebelah kanan dan ganti nama alur sebagai Penghapusan sarana kontrol.

Alur penghapusan penyebaran dengan menggunakan Azure Resource Manager

Buat alur penghapusan penyebaran Azure Resource Manager. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/11-remover-arm-fallback.yml
Nama Penghapusan penyebaran menggunakan Azure Resource Manager

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindah dari menu elipsis di sebelah kanan dan ganti nama alur sebagai Penghapusan penyebaran menggunakan prosesor ARM.

Catatan

Hanya gunakan alur ini sebagai upaya terakhir. Menghapus hanya grup sumber daya yang meninggalkan sisa-sisa yang mungkin mempersulit penyebaran ulang.

Alur pembaruan repositori

Buat alur updater repositori. Di bawah bagian Alur , pilih Alur Baru. Pilih Azure Repos Git sebagai sumber untuk kode Anda. Konfigurasikan alur Anda untuk menggunakan file YAML Azure Pipelines yang sudah ada. Tentukan alur dengan pengaturan berikut:

Pengaturan Nilai
Repo "Repositori akar" (sama dengan nama proyek)
Cabang utama
Jalur pipelines/20-update-ado-repository.yml
Nama Pembaruan repositori

Simpan alurnya. Untuk melihat Simpan, pilih chevron di samping Jalankan. Buka bagian Alur dan pilih alur. Pilih Ganti Nama/Pindahkan dari menu elipsis di sebelah kanan dan ganti nama alur sebagai Pembaruan repositori.

Alur ini harus digunakan ketika ada pembaruan di repositori sap-automation yang ingin Anda gunakan.

Mengimpor tugas pembersihan dari Visual Studio Marketplace

Alur menggunakan tugas kustom untuk melakukan aktivitas penghapusan pasca penyebaran. Anda dapat menginstal tugas kustom dari Post Build Cleanup. Instal ke organisasi Azure DevOps Anda sebelum Anda menjalankan alur.

Persiapan untuk agen yang dihost sendiri

  1. Buat kumpulan agen dengan masuk ke Pengaturan Organisasi. Di bawah bagian Alur, pilih Kumpulan>Agen Tambahkan Kumpulan. Pilih Dihost sendiri sebagai jenis kumpulan. Beri nama kumpulan agar selaras dengan lingkungan sarana kontrol. Misalnya, gunakan MGMT-WEEU-POOL. Pastikan bahwa Berikan izin akses ke semua alur dipilih dan pilih Buat untuk membuat kumpulan.

  2. Masuk dengan akun pengguna yang Anda rencanakan untuk digunakan di organisasi Azure DevOps Anda.

  3. Dari beranda Anda, buka pengaturan pengguna Anda dan pilih Token akses pribadi.

    Diagram that shows the creation of a personal access token.

  4. Buat token akses pribadi dengan pengaturan ini:

    • Kumpulan Agen: Pilih Baca & kelola.

    • Build: Pilih Baca & jalankan.

    • Kode: Pilih Baca &tulis.

    • Grup Variabel: Pilih Baca, buat, & kelola.

      Tuliskan nilai token yang dibuat.

    Diagram that shows the attributes of the personal access token.

Definisi variabel

Alur penyebaran dikonfigurasi untuk menggunakan sekumpulan nilai parameter yang telah ditentukan sebelumnya yang ditentukan dengan menggunakan grup variabel.

Variabel umum

Variabel umum digunakan oleh semua alur penyebaran. Mereka disimpan dalam grup variabel yang disebut SDAF-General.

Buat grup variabel baru bernama SDAF-General dengan menggunakan halaman Pustaka di bagian Alur . Tambahkan variabel berikut:

Variabel Value Catatan
Deployment_Configuration_Path RUANG KERJA Untuk menguji konfigurasi sampel, gunakan samples/WORKSPACES alih-alih WORKSPACES.
Cabang utama
S-Nama Pengguna <SAP Support user account name>
S-Kata Sandi <SAP Support user password> Ubah jenis variabel menjadi rahasia dengan memilih ikon kunci.
tf_version 1.6.0 Versi Terraform yang akan digunakan. Lihat Unduhan Terraform.

Simpan variabel.

Atau, Anda dapat menggunakan Azure DevOps CLI untuk menyiapkan grup.

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

Ingatlah untuk menetapkan izin untuk semua alur dengan menggunakan izin Alur.

Variabel khusus lingkungan

Karena setiap lingkungan mungkin memiliki kredensial penyebaran yang berbeda, Anda perlu membuat grup variabel per lingkungan. Misalnya, gunakan SDAF-MGMT,SDAF-DEV, dan SDAF-QA.

Buat grup variabel baru bernama SDAF-MGMT untuk lingkungan sarana kontrol dengan menggunakan halaman Pustaka di bagian Alur . Tambahkan variabel berikut:

Variabel Value Catatan
Agen Azure Pipelines atau nama kumpulan agen Kumpulan ini dibuat di langkah selanjutnya.
CP_ARM_CLIENT_ID Service principal application ID
CP_ARM_OBJECT_ID Service principal object ID
CP_ARM_CLIENT_SECRET Service principal password Ubah jenis variabel menjadi rahasia dengan memilih ikon kunci.
CP_ARM_SUBSCRIPTION_ID Target subscription ID
CP_ARM_TENANT_ID Tenant ID untuk perwakilan layanan
AZURE_CONNECTION_NAME Nama koneksi yang dibuat sebelumnya
sap_fqdn Nama domain yang sepenuhnya memenuhi syarat SAP, misalnya, sap.contoso.net Hanya diperlukan jika DNS Privat tidak digunakan.
FENCING_SPN_ID Service principal application ID untuk agen anggar Diperlukan untuk penyebaran yang sangat tersedia yang menggunakan perwakilan layanan untuk agen anggar.
FENCING_SPN_PWD Service principal password untuk agen anggar Diperlukan untuk penyebaran yang sangat tersedia yang menggunakan perwakilan layanan untuk agen anggar.
FENCING_SPN_TENANT Service principal tenant ID untuk agen anggar Diperlukan untuk penyebaran yang sangat tersedia yang menggunakan perwakilan layanan untuk agen anggar.
PAT <Personal Access Token> Gunakan token pribadi yang ditentukan pada langkah sebelumnya.
KUMPULAN <Agent Pool name> Kumpulan agen yang digunakan untuk lingkungan ini.
APP_REGISTRATION_APP_ID App registration application ID Diperlukan jika menyebarkan aplikasi web.
WEB_APP_CLIENT_SECRET App registration password Diperlukan jika menyebarkan aplikasi web.
SDAF_GENERAL_GROUP_ID ID grup untuk grup SDAF-General ID dapat diambil dari parameter variableGroupId URL saat mengakses grup variabel dengan menggunakan browser. Sebagai contoh: variableGroupId=8.
WORKLOADZONE_PIPELINE_ID ID untuk SAP workload zone deployment alur ID dapat diambil dari parameter definitionId URL dari halaman alur di Azure DevOps. Sebagai contoh: definitionId=31.
SYSTEM_PIPELINE_ID ID untuk SAP system deployment (infrastructure) alur ID dapat diambil dari parameter definitionId URL dari halaman alur di Azure DevOps. Sebagai contoh: definitionId=32.

Simpan variabel.

Ingatlah untuk menetapkan izin untuk semua alur dengan menggunakan izin Alur.

Saat Anda menggunakan aplikasi web, pastikan bahwa Layanan Build memiliki setidaknya izin Kontribusi.

Anda dapat menggunakan fungsionalitas klon untuk membuat grup variabel lingkungan berikutnya. APP_REGISTRATION_APP_ID, WEB_APP_CLIENT_SECRET, SDAF_GENERAL_GROUP_ID, WORKLOADZONE_PIPELINE_ID, dan SYSTEM_PIPELINE_ID hanya diperlukan untuk grup SDAF-MGMT.

Membuat koneksi layanan

Untuk menghapus sumber daya Azure, Anda memerlukan koneksi layanan Azure Resource Manager. Untuk informasi selengkapnya, lihat Mengelola koneksi layanan.

Untuk membuat koneksi layanan, buka Project Pengaturan. Di bawah bagian Alur, pilih Koneksi layanan.

Screenshot that shows how to create a service connection.

Pilih Azure Resource Manager sebagai jenis koneksi layanan dan Perwakilan layanan (manual) sebagai metode autentikasi. Masukkan langganan target, yang biasanya merupakan langganan sarana kontrol. Masukkan detail perwakilan layanan. Pilih Verifikasi untuk memvalidasi kredensial. Untuk informasi selengkapnya tentang cara membuat perwakilan layanan, lihat Membuat perwakilan layanan.

Masukkan Nama koneksi layanan, misalnya, gunakan Connection to MGMT subscription. Pastikan bahwa kotak centang Berikan izin akses ke semua alur dipilih. Pilih Verifikasi dan simpan untuk menyimpan koneksi layanan.

Izin

Sebagian besar alur menambahkan file ke Azure Repos dan karenanya memerlukan izin penarikan. Pada Project Pengaturan, di bawah bagian Repositori, pilih tab Keamanan dari repositori kode sumber dan tetapkan izin Kontribusi ke Build Service.

Screenshot that shows repository permissions.

Menyebarkan bidang kontrol

Alur yang baru dibuat mungkin tidak terlihat di tampilan default. Pilih tab Terbaru dan kembali ke semua tab untuk melihat alur baru.

Pilih alur penyebaran sarana kontrol dan masukkan nama konfigurasi untuk penyebar dan pustaka SAP. Pilih Jalankan untuk menyebarkan sarana kontrol. Pastikan untuk memilih kotak centang Sebarkan aplikasi web konfigurasi jika Anda ingin menyiapkan aplikasi web konfigurasi.

Konfigurasikan agen Layanan Azure DevOps yang dihosting sendiri secara manual

Konfigurasi manual hanya diperlukan jika agen Layanan Azure DevOps tidak dikonfigurasi secara otomatis. Periksa apakah kumpulan agen kosong sebelum Anda melanjutkan.

Untuk menyambungkan ke penyebar:

  1. Masuk ke portal Azure.

  2. Buka grup sumber daya yang berisi komputer virtual penyebar.

  3. Koneksi ke komputer virtual dengan menggunakan Azure Bastion.

  4. Nama pengguna default adalah azureadm.

  5. Pilih Kunci Privat SSH dari Azure Key Vault.

  6. Pilih langganan yang berisi sarana kontrol.

  7. Pilih brankas kunci penyebar.

  8. Dari daftar rahasia, pilih rahasia yang diakhir dengan -sshkey.

  9. Sambungkan ke komputer virtual.

Jalankan skrip berikut untuk mengonfigurasi penyebar:

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

Reboot penyebar, sambungkan kembali, dan jalankan skrip berikut untuk menyiapkan agen Azure DevOps:

cd ~/Azure_SAP_Automated_Deployment/

$DEPLOYMENT_REPO_PATH/deploy/scripts/setup_ado.sh

Terima lisensi dan, saat Anda dimintai URL server, masukkan URL yang Anda ambil saat membuat proyek Azure DevOps. Untuk autentikasi, pilih PAT dan masukkan nilai token dari langkah sebelumnya.

Saat diminta, masukkan nama kumpulan aplikasi yang Anda buat di langkah sebelumnya. Terima nama agen default dan nama folder kerja default. Agen sekarang dikonfigurasi dan dimulai.

Menyebarkan aplikasi web sarana kontrol

Memilih parameter saat Anda menjalankan alur penyebaran sarana kontrol menyediakan infrastruktur yang diperlukan untuk menghosting deploy the web app infrastructure aplikasi web. Alur Sebarkan aplikasi web menerbitkan perangkat lunak aplikasi ke infrastruktur tersebut.

Tunggu hingga penyebaran selesai. Pilih tab Ekstensi dan ikuti instruksi untuk menyelesaikan konfigurasi. reply-url Perbarui nilai untuk pendaftaran aplikasi.

Sebagai hasil dari menjalankan alur sarana kontrol, bagian dari URL aplikasi web yang diperlukan disimpan dalam variabel bernama WEBAPP_URL_BASE dalam grup variabel khusus lingkungan Anda. Kapan saja, Anda dapat memperbarui URL aplikasi web yang terdaftar dengan menggunakan perintah berikut.

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

Anda juga perlu memberikan izin pembaca ke identitas terkelola yang ditetapkan sistem layanan aplikasi. Buka sumber daya layanan aplikasi. Di sisi kiri, pilih Identitas. Pada tab Yang ditetapkan sistem, pilih Penetapan>peran Azure Tambahkan penetapan peran. Pilih Langganan sebagai cakupan dan Pembaca sebagai peran. Kemudian pilih Simpan. Tanpa langkah ini, fungsionalitas dropdown aplikasi web tidak akan berfungsi.

Anda sekarang dapat mengunjungi aplikasi web dan menggunakannya untuk menyebarkan zona beban kerja SAP dan infrastruktur sistem SAP.

Langkah selanjutnya