Wawasan item rilis dan kerja sangat penting untuk mengoptimalkan siklus hidup pengembangan perangkat lunak. Seiring berkembangnya aplikasi, sangat penting untuk memantau setiap rilis dan item kerjanya dengan cermat. Wawasan ini menyoroti hambatan performa dan memungkinkan tim mengatasi masalah secara proaktif, memastikan penyebaran dan pengalaman pengguna yang lancar. Mereka melengkapi pengembang dan pemangku kepentingan untuk membuat keputusan, menyesuaikan proses, dan memberikan perangkat lunak berkualitas tinggi.
Azure Pipelines terintegrasi dengan Application Insights untuk memungkinkan pemantauan berkelanjutan alur rilis Azure DevOps Anda di seluruh siklus hidup pengembangan perangkat lunak.
Dengan pemantauan berkelanjutan, alur rilis dapat menggabungkan data pemantauan dari Application Insights dan sumber daya Azure lainnya. Saat alur rilis mendeteksi pemberitahuan Application Insights, alur dapat memagari atau menggulung balik penyebaran hingga pemberitahuan teratasi. Jika semua pemeriksaan lulus, penyebaran dapat dilanjutkan secara otomatis dari pengujian hingga produksi, tanpa perlu intervensi manual.
Di Azure DevOps, pilih organisasi dan proyek.
Di menu sebelah kiri halaman proyek, pilih Rilis>Alur.
Pilih panah dropdown di samping Baru dan pilih Alur rilis baru. Atau, jika Anda belum memiliki alur, pilih Alur baru di halaman yang muncul.
Pada panel Pilih template, cari dan pilih Penyebaran Azure App Service dengan pemantauan berkelanjutan, lalu pilih Terapkan.
Dalam kotak Tahap 1, pilih hyperlink untuk Menampilkan tugas tahapan.
Di panel konfigurasi Tahap 1 , isi bidang berikut ini:
Parameter |
Nilai |
Nama tahap |
Berikan nama panggung atau biarkan di Tahap 1. |
Langganan Azure |
Pilih panah dropdown dan pilih langganan Azure tertaut yang ingin Anda gunakan. |
Jenis aplikasi |
Pilih panah dropdown dan pilih jenis aplikasi Anda. |
Nama Azure App Service |
Masukkan nama Azure App Service Anda. |
Nama Grup Sumber Daya untuk Application Insights |
Pilih panah dropdown dan pilih grup sumber daya yang ingin Anda gunakan. |
Nama sumber daya Application Insights |
Pilih panah dropdown dan pilih sumber daya Application Insights untuk grup sumber daya yang Anda pilih. |
Untuk menyimpan alur dengan pengaturan aturan pemberitahuan default, pilih Simpan di sudut kanan atas jendela Azure DevOps. Masukkan komentar deskriptif dan pilih OK.
Mengubah aturan pemberitahuan
Di luar kotak, penyebaran Azure App Service dengan templat pemantauan berkelanjutan memiliki empat aturan pemberitahuan: Ketersediaan, Permintaan gagal, Waktu respons server, dan Pengecualian server. Anda dapat menambahkan lebih banyak aturan atau mengubah pengaturan aturan untuk memenuhi kebutuhan tingkat layanan Anda.
Untuk mengubah pengaturan aturan pemberitahuan:
Di panel kiri dari halaman alur rilis, pilih Konfigurasi Pemberitahuan Application Insights.
Empat aturan pemberitahuan default dibuat melalui skrip Sebaris:
$subscription = az account show --query "id";$subscription.Trim("`"");$resource="/subscriptions/$subscription/resourcegroups/"+"$(Parameters.AppInsightsResourceGroupName)"+"/providers/microsoft.insights/components/" + "$(Parameters.ApplicationInsightsResourceName)";
az monitor metrics alert create -n 'Availability_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'avg availabilityResults/availabilityPercentage < 99' --description "created from Azure DevOps";
az monitor metrics alert create -n 'FailedRequests_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'count requests/failed > 5' --description "created from Azure DevOps";
az monitor metrics alert create -n 'ServerResponseTime_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'avg requests/duration > 5' --description "created from Azure DevOps";
az monitor metrics alert create -n 'ServerExceptions_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'count exceptions/server > 5' --description "created from Azure DevOps";
Anda dapat mengubah skrip dan menambahkan lebih banyak aturan pemberitahuan. Anda juga dapat mengubah kondisi pemberitahuan. Dan Anda dapat menghapus aturan pemberitahuan yang tidak masuk akal untuk tujuan penyebaran Anda.
Menambahkan kondisi penyebaran
Saat Anda menambahkan gerbang penyebaran ke alur rilis Anda, pemberitahuan yang melebihi ambang batas yang Anda tetapkan mencegah promosi rilis yang tidak diinginkan. Setelah Anda mengatasi pemberitahuan, penyebaran dapat dilanjutkan secara otomatis.
Untuk menambahkan gerbang penyebaran:
Pada halaman alur utama, di bawah Tahapan, pilih simbol Kondisi sebelum penyebaran atau Kondisi setelah penyebaran, bergantung pada tahap yang perlu gerbang pemantauan berkelanjutan.
Di panel konfigurasi Kondisi sebelum penyebaran, atur Gerbang ke Diaktifkan.
Di samping Gerbang penyebaran, pilih Tambahkan.
Pilih pemberitahuan Query Azure Monitor dari menu drop down. Opsi ini memungkinkan Anda mengakses pemberitahuan Azure Monitor dan Application Insights.
Di bawah Opsi evaluasi, masukkan nilai yang Anda inginkan untuk pengaturan seperti Waktu antara evaluasi ulang gerbang dan Waktu habis setelah gerbang gagal.
Lihat log rilis
Anda dapat melihat perilaku gerbang penyebaran dan langkah-langkah rilis lainnya dalam log rilis. Untuk membuka log:
Pilih Rilis dari menu kiri halaman alur.
Pilih rilis apa pun.
Di bawah Tahapan, pilih tahap apa pun untuk melihat ringkasan rilis.
Untuk menampilkan log, pilih Tampilkan log dalam ringkasan rilis, pilih hyperlink Berhasil atau Gagal dalam tahap apa pun, atau arahkan mouse ke atas tahap dan pilih Log.
Anotasi menunjukkan tempat Anda menyebarkan build baru atau peristiwa penting lainnya. Anotasi memudahkan Anda untuk melihat apakah perubahan berpengaruh pada performa aplikasi Anda. Anotasi ini dapat dibuat secara otomatis oleh sistem kompilasi Azure Pipelines. Anda juga dapat membuat anotasi untuk menandai peristiwa apa pun yang Anda inginkan dengan membuatnya dari PowerShell.
Rilis anotasi dengan kompilasi Azure Pipelines
Anotasi rilis adalah fitur layanan Azure Pipelines berbasis cloud dari Azure DevOps.
Jika semua kriteria berikut terpenuhi, tugas penyebaran membuat anotasi rilis secara otomatis:
Sumber daya yang Anda sebarkan ditautkan ke Application Insights melalui APPINSIGHTS_INSTRUMENTATIONKEY
pengaturan aplikasi.
Sumber daya Application Insights berada dalam langganan yang sama dengan sumber daya yang Anda sebarkan.
Anda menggunakan salah satu tugas alur Azure DevOps berikut:
Kode tugas |
Nama tugas |
Versi |
AzureAppServiceSettings |
Pengaturan App Service Azure |
Mana pun |
AzureRmWebAppDeployment |
Penyebaran Azure App Service |
V3 ke atas |
AzureFunctionApp |
Azure Functions |
Mana pun |
AzureFunctionAppContainer |
Azure Functions untuk kontainer |
Mana pun |
AzureWebAppContainer |
Aplikasi Web Azure untuk Kontainer |
Mana pun |
AzureWebApp |
Aplikasi Web Azure |
Mana pun |
Catatan
Jika Anda masih menggunakan tugas penyebaran anotasi Application Insights, Anda harus menghapusnya.
Jika Anda tidak dapat menggunakan salah satu tugas penyebaran di bagian sebelumnya, Anda perlu menambahkan tugas skrip sebaris di alur penyebaran Anda.
Buka alur baru atau yang sudah ada dan pilih tugas.
Tambahkan tugas baru dan pilihAzure CLI.
Tentukan langganan Azure yang relevan. Ubah Jenis Skrip ke PowerShell dan Lokasi Skrip menjadi Sebaris.
Tambahkan skrip PowerShell dari langkah 2 di bagian berikutnya ke Skrip Sebaris.
Tambahkan argumen berikut. Ganti tempat penampung sudut-kurung dengan nilai Anda ke Argumen Skrip. bersifat -releaseProperties
opsional.
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
Contoh berikut menunjukkan metadata yang dapat Anda atur dalam argumen opsional releaseProperties
dengan menggunakan variabel build dan rilis .
-releaseProperties @{
"BuildNumber"="$(Build.BuildNumber)";
"BuildRepositoryName"="$(Build.Repository.Name)";
"BuildRepositoryProvider"="$(Build.Repository.Provider)";
"ReleaseDefinitionName"="$(Build.DefinitionName)";
"ReleaseDescription"="Triggered by $(Build.DefinitionName) $(Build.BuildNumber)";
"ReleaseEnvironmentName"="$(Release.EnvironmentName)";
"ReleaseId"="$(Release.ReleaseId)";
"ReleaseName"="$(Release.ReleaseName)";
"ReleaseRequestedFor"="$(Release.RequestedFor)";
"ReleaseWebUrl"="$(Release.ReleaseWebUrl)";
"SourceBranch"="$(Build.SourceBranch)";
"TeamFoundationCollectionUri"="$(System.TeamFoundationCollectionUri)" }
Pilih Simpan.
Membuat anotasi rilis dengan Azure CLI
Anda dapat menggunakan CreateReleaseAnnotation
skrip PowerShell untuk membuat anotasi dari proses apa pun yang Anda inginkan tanpa menggunakan Azure DevOps.
Masuk ke Azure CLI.
Buat salinan lokal skrip berikut dan sebut saja CreateReleaseAnnotation.ps1
.
param(
[parameter(Mandatory = $true)][string]$aiResourceId,
[parameter(Mandatory = $true)][string]$releaseName,
[parameter(Mandatory = $false)]$releaseProperties = @()
)
# Function to ensure all Unicode characters in a JSON string are properly escaped
function Convert-UnicodeToEscapeHex {
param (
[parameter(Mandatory = $true)][string]$JsonString
)
$JsonObject = ConvertFrom-Json -InputObject $JsonString
foreach ($property in $JsonObject.PSObject.Properties) {
$name = $property.Name
$value = $property.Value
if ($value -is [string]) {
$value = [regex]::Unescape($value)
$OutputString = ""
foreach ($char in $value.ToCharArray()) {
$dec = [int]$char
if ($dec -gt 127) {
$hex = [convert]::ToString($dec, 16)
$hex = $hex.PadLeft(4, '0')
$OutputString += "\u$hex"
}
else {
$OutputString += $char
}
}
$JsonObject.$name = $OutputString
}
}
return ConvertTo-Json -InputObject $JsonObject -Compress
}
$annotation = @{
Id = [GUID]::NewGuid();
AnnotationName = $releaseName;
EventTime = (Get-Date).ToUniversalTime().GetDateTimeFormats("s")[0];
Category = "Deployment"; #Application Insights only displays annotations from the "Deployment" Category
Properties = ConvertTo-Json $releaseProperties -Compress
}
$annotation = ConvertTo-Json $annotation -Compress
$annotation = Convert-UnicodeToEscapeHex -JsonString $annotation
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken
$headers = @{
"Authorization" = "Bearer $accessToken"
"Accept" = "application/json"
"Content-Type" = "application/json"
}
$params = @{
Headers = $headers
Method = "Put"
Uri = "https://management.azure.com$($aiResourceId)/Annotations?api-version=2015-05-01"
Body = $annotation
}
Invoke-RestMethod @params
Catatan
- Anotasi Anda harus memiliki Kategori yang diatur ke Penyebaran agar muncul di portal Azure.
- Jika Anda menerima kesalahan, "Permintaan berisi isi entitas tetapi tidak ada header Jenis Konten", coba hapus parameter ganti di baris berikut.
$body = (ConvertTo-Json $annotation -Compress)
Panggil skrip PowerShell dengan kode berikut. Ganti tempat penampung sudut-kurung dengan nilai Anda. bersifat -releaseProperties
opsional.
.\CreateReleaseAnnotation.ps1 `
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
Argumen |
Definisi |
Catatan |
aiResourceId |
ID sumber daya ke sumber daya Application Insights target. |
Contoh: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e/resourceGroups/MyRGName/providers/microsoft.insights/components/MyResourceName |
releaseName |
Nama untuk anotasi rilis yang dibuat. |
|
releaseProperties |
Digunakan untuk melampirkan metadata kustom ke anotasi. |
Opsional |
Lihat anotasi
Catatan
Anotasi rilis saat ini tidak tersedia di panel Metrik Application Insights.
Setiap kali Anda menggunakan templat rilis untuk menyebarkan rilis baru, anotasi dikirim ke Application Insights. Anda dapat melihat anotasi di lokasi berikut:
Untuk mengaktifkan anotasi di buku kerja Anda, bukaSetelan Tingkat Lanjutdan pilihTampilkan anotasi.
Pilih penanda anotasi apa pun untuk membuka detail tentang rilis, termasuk pemohon, cabang kontrol sumber, alur rilis, dan lingkungan.
Merilis anotasi dengan menggunakan kunci API
Anotasi rilis adalah fitur layanan Azure Pipelines berbasis cloud dari Azure DevOps.
Penting
Anotasi menggunakan kunci API tidak digunakan lagi. Sebaiknya gunakan Azure CLI sebagai gantinya.
Menginstal ekstensi anotasi (satu kali)
Untuk membuat anotasi rilis, instal salah satu dari banyak ekstensi Azure DevOps yang tersedia di Visual Studio Marketplace.
Masuk ke proyek Azure DevOps.
Pada halaman ekstensi Anotasi Rilis Marketplace Visual Studio, pilih organisasi Azure DevOps Anda. Pilih Instal untuk menambahkan ekstensi ke organisasi Azure DevOps Anda.
Anda hanya perlu menginstal ekstensi sekali untuk organisasi Azure DevOps Anda. Anda sekarang dapat mengonfigurasi anotasi rilis untuk proyek apa pun di organisasi Anda.
Buat kunci API terpisah untuk masing-masing templat rilis Azure Pipelines Anda.
Masuk ke portal Microsoft Azure dan buka sumber daya Application Insights yang memantau aplikasi Anda. Atau jika Anda tidak memilikinya, buat sumber daya Application Insights baru.
Buka tab Akses API dan salin ID Application Insights.
Di jendela browser terpisah, buka atau buat templat rilis yang mengelola penyebaran Azure Pipelines Anda.
Pilih Tambahkan tugas lalu pilih tugas Anotasi Rilis Application Insights dari menu.
Catatan
Tugas Anotasi Rilis saat ini hanya mendukung agen berbasis Windows. Ini tidak akan berjalan di Linux, macOS, atau jenis agen lainnya.
Di bawah ID Aplikasi, tempelkan ID Application Insights yang Anda salin dari tab Akses API.
Kembali ke jendela Akses API Application Insights,pilih Buat Kunci API.
Di jendela Buat kunci API, masukkan deskripsi, pilih Tulis anotasi, lalu pilih Buat kunci. Salin kunci baru.
Di jendela templat rilis, pada tab Variabel, pilih Tambahkan untuk membuat definisi variabel untuk kunci API baru.
Di bawah Nama, masukkan ApiKey. Di bawah Nilai, tempelkan kunci API yang Anda salin dari tab Akses API.
Pilih Simpan di jendela templat rilis utama untuk menyimpan templat.
Transisi ke anotasi rilis baru
Untuk menggunakan anotasi rilis baru:
- Hapus ekstensi Anotasi Rilis.
- Hapus tugas Anotasi Rilis Application Insights dalam penyebaran Azure Pipelines Anda.
- Buat anotasi rilis baru dengan Azure Pipelines atau Azure CLI.
Fungsionalitas integrasi item kerja memudahkan Anda membuat item kerja di GitHub atau Azure DevOps yang memiliki data Application Insights relevan yang disematkan.
Integrasi item kerja baru menawarkan fitur berikut di versi klasik:
- Bidang lanjutan seperti penerima tugas, proyek, atau milestone.
- Ikon repositori sehingga Anda dapat membedakan antara buku kerja GitHub & Azure DevOps.
- Beberapa konfigurasi untuk sejumlah repositori atau item kerja.
- Penyebaran melalui templat Azure Resource Manager.
- Kueri Bahasa Kueri Kata Kunci yang telah dibangun sebelumnya & dapat disesuaikan untuk menambahkan data Application Insights ke item kerja Anda.
- Templat buku kerja yang dapat disesuaikan.
Untuk membuat templat item kerja, buka sumber daya Application Insights dan pada sebelah kiri di bawah Konfigurasi, pilih Item Kerja, kemudian pilih Buat templat baru di bagian atas
Anda juga dapat membuat templat item kerja dari tab detail transaksi end-to-end, jika saat ini tidak ada templat yang tersedia. Pilih acara dan pilih Buat item kerja di sebelah kanan, lalu Mulai dengan templat buku kerja.
Setelah memilih buat templat baru, Anda bisa memilih sistem pelacakan, beri nama buku kerja, tautkan ke sistem pelacakan yang dipilih, lalu pilih wilayah untuk menyimpan templat (pengaturan defaultnya adalah wilayah tempat sumber daya Application Insights Anda berada). Parameter URL adalah URL default untuk repositori Anda, misalnya, https://github.com/myusername/reponame
atau https://dev.azure.com/{org}/{project}
.
Anda dapat mengatur properti item kerja tertentu langsung dari templat itu sendiri. Ini termasuk penerima tugas, jalur iterasi, proyek, & banyak lagi tergantung penyedia kontrol versi Anda.
Catatan
Untuk lingkungan Azure DevOps lokal, URL sampel seperti https://dev.azure.com/test/test dapat digunakan sebagai tempat penampung untuk URL Proyek Azure DevOps. Setelah templat item kerja dibuat, Anda dapat mengubah URL dan aturan validasinya dalam buku kerja Azure yang dihasilkan.
Membuat item kerja
Anda dapat mengakses templat baru dari salah satu detail transaksi End-to-end yang dapat diakses dari Performa, Kegagalan, Ketersediaan, atau tab lainnya.
Untuk membuat item kerja, buka detail transaksi End-to-end, pilih acara lalu pilih Buat item kerja dan pilih templat item kerja Anda.
Tab baru di browser Anda akan membuka sistem pelacakan pilihan Anda. Di Azure DevOps, Anda dapat membuat bug atau tugas, dan di GitHub Anda dapat membuat masalah baru di repositori. Item kerja baru dibuat secara otomatis dengan informasi kontekstual yang disediakan oleh Application Insights.
Mengedit templat
Untuk mengedit templat, buka tab Item Kerja di bawah Konfigurasi dan pilih ikon pensil di samping buku kerja yang akan diperbarui.
Pilih edit di toolbar atas.
Anda bisa membuat lebih dari satu konfigurasi item kerja dan memiliki buku kerja kustom untuk memenuhi setiap skenario. Buku kerja juga dapat disebarkan oleh Azure Resource Manager dengan memastikan implementasi standar di seluruh lingkungan Anda.
Integrasi item kerja klasik
Di sumber daya Application Insights Anda di Konfigurasi, pilih Item Kerja.
Pilih Beralih ke Klasik, isi bidang dengan informasi Anda, dan lakukan otorisasi.
Buat item kerja dengan membuka detail transaksi end-to-end, pilih peristiwa, lalu pilih Buat item kerja (Klasik).
Migrasi ke integrasi item kerja baru
Untuk bermigrasi, hapus konfigurasi item kerja klasik Anda, lalu buat dan konfigurasikan templat item kerja guna membuat ulang integrasi Anda.
Untuk menghapus, buka sumber daya Application Insights di Konfigurasikan, pilih Item Kerja, lalu pilih Beralih ke Klasik dan *Hapus di bagian atas.