Menggunakan integrasi kontrol

Integrasi kontrol sumber di Azure Automation mendukung sinkronisasi satu arah dari repositori kontrol sumber Anda. Kontrol sumber memungkinkan Anda untuk menjaga agar runbook Anda di akun Automation Anda selalu terbaru dengan skrip di repositori kontrol sumber Azure DevOps atau GitHub Anda. Fitur ini memudahkan Anda untuk mendorong kode yang telah diuji di lingkungan pengembangan Anda ke akun Automation produksi Anda.

Integrasi kontrol sumber memungkinkan Anda berkolaborasi dengan tim, melacak perubahan, dan kembali ke versi runbook yang lebih lama dengan mudah. Misalnya, kontrol sumber memungkinkan Anda menyinkronkan cabang yang berbeda dalam kontrol sumber dengan akun Automation pengembangan, pengujian, dan produksi Anda.

Catatan

Pekerjaan sinkronisasi kontrol sumber dijalankan di akun Automation pengguna dan tingkat biayanya sama dengan pekerjaan Automation lainnya. Selain itu, Pekerjaan Azure Automation tidak mendukung MFA (Autentikasi Multifaktor).

Jenis kontrol sumber

Azure Automation mendukung tiga jenis kontrol sumber:

  • GitHub
  • Azure DevOps (Git)
  • Azure DevOps (TFVC)

Prasyarat

Catatan

Azure Automation mendukung identitas terkelola yang ditetapkan sistem serta identitas terkelola yang ditetapkan pengguna dengan integrasi kontrol sumber. Untuk menggunakan identitas terkelola yang ditetapkan pengguna, buat variabel AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID otomatisasi dengan nilai sebagai ID Klien identitas yang ditetapkan pengguna. Pengguna yang ditetapkan Managed Identity harus diaktifkan dan memiliki akses kontributor ke akun otomatisasi. Jika variabel ini tidak dibuat, secara default, kami menggunakan identitas yang ditetapkan sistem.

Screenshot that displays the user-assigned Managed Identity.

Jika Anda mengaktifkan akun Jalankan Sebagai dan identitas terkelola, identitas terkelola akan diberikan preferensi.

Penting

Akun Run As Azure Automation akan dihentikan pada 30 September 2023 dan akan diganti dengan Identitas Terkelola. Sebelum tanggal tersebut, Anda perlu bermigrasi dari akun Jalankan Sebagai ke Identitas terkelola.

Catatan

Menurut dokumentasi Azure DevOps ini, akses aplikasi pihak ketiga melalui kebijakan OAuth diatur ke default untuk semua organisasi baru. Jadi, jika Anda mencoba mengonfigurasi kontrol sumber di Azure Automation dengan Azure Devops (Git) sebagai jenis kontrol sumber tanpa mengaktifkan akses aplikasi pihak ketiga melalui OAuth di bawah Petak peta Kebijakan Organisasi Pengaturan di Azure DevOps, maka Anda mungkin mendapatkan securityToken SourceControl adalah kesalahan yang tidak valid. Oleh karena itu untuk menghindari kesalahan ini, pastikan Anda terlebih dahulu mengaktifkan akses aplikasi pihak ketiga melalui OAuth di bawah Petak kebijakan Organisasi Pengaturan di Azure DevOps.

Mengonfigurasi kontrol sumber

Bagian ini memberi tahu cara mengonfigurasi kontrol sumber untuk akun Automation Anda. Anda dapat menggunakan portal Microsoft Azure atau PowerShell.

Menetapkan identitas terkelola ke peran Kontributor

Contoh ini menggunakan Azure PowerShell untuk menunjukkan cara menetapkan peran Kontributor dalam langganan ke sumber daya akun Azure Automation.

  1. Buka konsol PowerShell dengan hak istimewa yang ditingkatkan.

  2. Masuk ke Azure dengan menjalankan perintah Connect-AzAccount.

  3. Untuk menetapkan identitas terkelola ke peran Kontributor, jalankan perintah berikut.

    New-AzRoleAssignment `
        -ObjectId <automation-Identity-Object(Principal)-Id> `
        -Scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}" `
        -RoleDefinitionName "Contributor"
    

Mengonfigurasi kontrol sumber di portal Microsoft Azure

Gunakan prosedur ini untuk mengonfigurasi kontrol sumber menggunakan portal Microsoft Azure.

  1. Di akun Automation Anda, pilih Kontrol Sumber dan klik Tambahkan.

    Select source control

  2. Pilih Jenis Kontrol Sumber, lalu klik Autentikasi.

  3. Jendela browser terbuka dan meminta Anda untuk masuk. Ikuti perintah untuk menyelesaikan autentikasi.

  4. Pada halaman Ringkasan Kontrol Sumber, gunakan bidang untuk mengisi properti kontrol sumber yang ditentukan di bawah ini. Setelah selesai, pilih Simpan.

    Properti Deskripsi
    Nama kontrol sumber Nama yang mudah diingat untuk kontrol sumber. Nama ini hanya boleh memuat huruf dan angka.
    Tipe kontrol sumber Jenis mekanisme kontrol sumber. Opsi yang tersedia adalah:
    * GitHub
    * Azure DevOps (Git)
    * Azure DevOps (TFVC)
    Repositori Nama repositori atau proyek. 200 repositori pertama diambil. Untuk mencari repositori, ketik nama di bidang dan klik Cari di GitHub.
    Cabang Cabang asal file sumber ditarik. Penargetan cabang tidak tersedia untuk jenis kontrol sumber TFVC.
    Jalur folder Folder yang berisi runbook untuk disinkronkan, misalnya, /Runbooks. Hanya runbook di folder yang ditentukan yang disinkronkan. Rekursi tidak didukung.
    Sinkronisasi Otomatis1 Pengaturan yang mengaktifkan atau menonaktifkan sinkronisasi otomatis saat penerapan dibuat di repositori kontrol sumber atau repositori GitHub.
    Menerbitkan Runbook Pengaturan Aktif jika runbook secara otomatis diterbitkan setelah sinkronisasi dari kontrol sumber, dan Nonaktif sebaliknya.
    Deskripsi Teks yang menentukan detail tambahan tentang kontrol sumber.

    1 Untuk mengaktifkan Sinkronisasi Otomatis saat mengonfigurasi integrasi kontrol sumber dengan Azure DevOps, Anda harus menjadi Administrator Proyek atau pemilik repositori GitHub. Kolaborator hanya dapat mengonfigurasi Kontrol Sumber tanpa Sinkronisasi Otomatis.
    Sinkronisasi Otomatis tidak berfungsi dengan Automation Private Link. Jika Anda mengaktifkan Private Link, pemanggilan webhook kontrol sumber akan gagal karena berada di luar jaringan.

    Screenshot that describes the Source control summary.

Catatan

Login untuk repositori kontrol sumber Anda mungkin berbeda dari login Anda untuk portal Microsoft Azure. Pastikan Anda masuk dengan akun yang benar untuk repositori kontrol sumber saat mengonfigurasi kontrol sumber. Jika ragu, buka tab baru di browser Anda, keluar dari dev.azure.com, visualstudio.com, atau github.com, dan coba sambungkan kembali ke kontrol sumber.

Mengonfigurasi kontrol sumber di PowerShell

Anda juga dapat menggunakan PowerShell untuk mengonfigurasi kontrol sumber di Azure Automation. Untuk menggunakan cmdlet PowerShell untuk operasi ini, Anda memerlukan token akses pribadi (PAT). Gunakan cmdlet New-AzAutomationSourceControl untuk membuat koneksi kontrol sumber. Cmdlet ini membutuhkan string aman untuk PAT. Untuk mempelajari cara membuat string aman, lihat ConvertTo-SecureString.

Subbagian berikut mengilustrasikan pembuatan PowerShell dari koneksi kontrol sumber untuk GitHub, Azure DevOps (Git), dan Azure DevOps (TFVC).

Membuat koneksi kontrol sumber untuk GitHub

New-AzAutomationSourceControl -Name SCGitHub -RepoUrl https://github.com/<accountname>/<reponame>.git -SourceType GitHub -FolderPath "/MyRunbooks" -Branch main -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName>

Membuat koneksi kontrol sumber untuk Azure DevOps (Git)

Catatan

Azure DevOps (Git) menggunakan URL yang mengakses dev.azure.com alih-alih visualstudio.com, yang digunakan dalam format sebelumnya. Format URL yang lebih lama https://<accountname>.visualstudio.com/<projectname>/_git/<repositoryname> tidak digunakan lagi tetapi tetap didukung. Format baru lebih disarankan.

New-AzAutomationSourceControl -Name SCReposGit -RepoUrl https://dev.azure.com/<accountname>/<adoprojectname>/_git/<repositoryname> -SourceType VsoGit -AccessToken <secureStringofPAT> -Branch main -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -FolderPath "/Runbooks"

Membuat koneksi kontrol sumber untuk Azure DevOps (TFVC)

Catatan

Azure DevOps (TFVC) menggunakan URL yang mengakses dev.azure.com alih-alih visualstudio.com, digunakan dalam format sebelumnya. Format URL yang lebih lama https://<accountname>.visualstudio.com/<projectname>/_versionControl tidak digunakan lagi tetapi tetap didukung. Format baru lebih disarankan.

New-AzAutomationSourceControl -Name SCReposTFVC -RepoUrl https://dev.azure.com/<accountname>/<adoprojectname>/_git/<repositoryname> -SourceType VsoTfvc -AccessToken <secureStringofPAT> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName> -FolderPath "/Runbooks"

Izin token akses pribadi (PAT)

Kontrol sumber memerlukan beberapa izin minimum untuk PAT. Subbagian berikut berisi izin minimum yang diperlukan untuk GitHub dan Azure DevOps.

Izin PAT minimum untuk GitHub

Tabel berikut menentukan izin PAT minimum yang diperlukan untuk GitHub. Untuk informasi selengkapnya tentang membuat PAT di GitHub, lihat Membuat token akses pribadi untuk baris perintah.

Scope Deskripsi
repo
repo:status Mengakses status penerapan
repo_deployment Mengakses status penyebaran
public_repo Mengakses repositori publik
repo:invite Mengakses undangan repositori
security_events Membaca dan menulis peristiwa keamanan
admin:repo_hook
write:repo_hook Menulis hook repositori
read:repo_hook Membaca hook repositori
Izin PAT minimum untuk Azure DevOps

Daftar berikut menentukan izin PAT minimum yang diperlukan untuk Azure DevOps. Untuk informasi selengkapnya tentang membuat PAT di Azure DevOps, lihat Mengautentikasi akses dengan token akses pribadi.

Scope Jenis Akses
Code Baca
Project and team Baca
Identity Baca
User profile Baca
Work items Baca
Service connections Membaca, mengkueri, mengelola1

1Service connections Izin hanya diperlukan jika Anda telah mengaktifkan sinkronisasi otomatis.

Menyinkronkan dengan kontrol sumber

Ikuti langkah-langkah ini untuk menyinkronkan dengan kontrol sumber.

  1. Pilih sumber dari tabel di halaman Kontrol sumber.

  2. Klik Mulai Sinkronkan untuk memulai proses sinkronisasi.

  3. Tampilkan status tugas sinkronisasi saat ini atau yang sebelumnya dengan mengeklik tab Sinkronkan pekerjaan.

  4. Pada menu dropdown Kontrol Sumber, pilih mekanisme kontrol sumber.

    Sync status

  5. Dengan mengeklik pekerjaan, Anda dapat melihat output pekerjaan. Contoh berikut adalah output dari pekerjaan sinkronisasi kontrol sumber.

    ===================================================================
    
    Azure Automation Source Control.
    Supported runbooks to sync: PowerShell Workflow, PowerShell Scripts, DSC Configurations, Graphical, and Python 2.
    
    Setting AzEnvironment.
    
    Getting AzureRunAsConnection.
    
    Logging in to Azure...
    
    Source control information for syncing:
    
    [Url = https://ContosoExample.visualstudio.com/ContosoFinanceTFVCExample/_versionControl] [FolderPath = /Runbooks]
    
    Verifying url: https://ContosoExample.visualstudio.com/ContosoFinanceTFVCExample/_versionControl
    
    Connecting to VSTS...
    
    Source Control Sync Summary:
    
    2 files synced:
     - ExampleRunbook1.ps1
     - ExampleRunbook2.ps1
    
    ==================================================================
    
    
  6. Pembuatan log tambahan tersedia dengan memilih Semua Log di halaman Ringkasan Pekerjaan Sinkronisasi Kontrol Sumber. Entri log tambahan ini dapat membantu Anda memecahkan masalah yang mungkin timbul saat menggunakan kontrol sumber.

Memutuskan sambungan kontrol sumber

Untuk memutuskan sambungan dari repositori kontrol sumber:

  1. Buka Kontrol Sumber di Pengaturan Akun di akun Automation Anda.

  2. Pilih mekanisme kontrol sumber untuk dihapus.

  3. Pada halaman Ringkasan Kontrol Sumber, klik Hapus.

Menangani masalah pengkodean

Jika beberapa orang mengedit runbook di repositori kontrol sumber Anda menggunakan editor yang berbeda, masalah pengkodean dapat terjadi. Untuk mempelajari selengkapnya tentang situasi ini, lihat Penyebab umum masalah pengkodean.

Memperbarui PAT

Saat ini, Anda tidak dapat menggunakan portal Microsoft Azure untuk memperbarui PAT dalam kontrol sumber. Saat PAT kedaluwarsa atau dicabut, Anda dapat memperbarui kontrol sumber dengan token akses baru dengan salah satu cara berikut:

Langkah berikutnya