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
- Repositori kontrol sumber (GitHub atau Azure DevOps)
- Akun Azure Automation memerlukan identitas terkelola yang ditetapkan sistem atau pengguna. Jika Anda belum mengonfigurasi identitas terkelola dengan akun Azure Automation, lihat Mengaktifkan identitas terkelola yang ditetapkan sistem atau mengaktifkan identitas terkelola yang ditetapkan pengguna untuk membuatnya.
- Tetapkan identitas terkelola yang ditetapkan sistem atau pengguna ke peran Kontributor di akun Azure Automation.
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.
Jika Anda mengaktifkan akun Jalankan Sebagai dan identitas terkelola, identitas terkelola akan diberikan preferensi.
Penting
Akun Run As Azure Automation telah dihentikan pada 30 September 2023. Kami menyarankan agar Anda menggunakan 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 kebijakan Pengaturan Organisasi di Azure DevOps, maka Anda mungkin mendapatkan kesalahan SourceControl securityToken tidak valid . Oleh karena itu untuk menghindari kesalahan ini, pastikan Anda terlebih dahulu mengaktifkan akses aplikasi pihak ketiga melalui OAuth di bawah Petak kebijakan Pengaturan Organisasi 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.
Buka konsol PowerShell dengan hak istimewa yang ditingkatkan.
Masuk ke Azure dengan menjalankan perintah
Connect-AzAccount
.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.
Di akun Automation Anda, pilih Kontrol Sumber dan klik Tambahkan.
Pilih Jenis Kontrol Sumber, lalu klik Autentikasi.
Jendela browser terbuka dan meminta Anda untuk masuk. Ikuti perintah untuk menyelesaikan autentikasi.
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.
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.
- Autentikasi lintas penyewa tidak didukung.
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.
Cakupan | 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.
Cakupan | Jenis Akses |
---|---|
Code |
Baca |
Project and team |
Baca |
Identity |
Baca |
User profile |
Baca |
Work items |
Baca |
Service connections |
Membaca, mengkueri, mengelola1 |
1 Service connections
Izin hanya diperlukan jika Anda telah mengaktifkan sinkronisasi otomatis.
Menyinkronkan dengan kontrol sumber
Ikuti langkah-langkah ini untuk menyinkronkan dengan kontrol sumber.
Pilih sumber dari tabel di halaman Kontrol sumber.
Klik Mulai Sinkronkan untuk memulai proses sinkronisasi.
Tampilkan status tugas sinkronisasi saat ini atau yang sebelumnya dengan mengeklik tab Sinkronkan pekerjaan.
Pada menu dropdown Kontrol Sumber, pilih mekanisme kontrol sumber.
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 ==================================================================
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:
Buka Kontrol Sumber di Pengaturan Akun di akun Automation Anda.
Pilih mekanisme kontrol sumber untuk dihapus.
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:
- Menggunakan REST API.
- Menggunakan cmdlet Update-AzAutomationSourceControl.
Langkah berikutnya
- Untuk mengintegrasikan kontrol sumber runbook dengan Visual Studio Codespaces, lihat Azure Automation: Mengintegrasikan Kontrol Sumber Runbook menggunakan Visual Studio Codespaces.