Sürüm ve iş öğesi içgörüleri, yazılım geliştirme yaşam döngüsünü iyileştirmek için çok önemlidir. Uygulamalar geliştikçe, her sürümü ve iş öğelerini yakından izlemek çok önemlidir. Bu içgörüler performans sorunlarını vurgular ve ekiplerin sorunları proaktif olarak ele alıp sorunsuz dağıtım ve kullanıcı deneyimi sağlamasını sağlar. Geliştiricileri ve paydaşları kararlar almak, süreçleri ayarlamak ve yüksek kaliteli yazılım sunmak için donatırlar.
Azure Pipelines, yazılım geliştirme yaşam döngüsü boyunca Azure DevOps yayın işlem hattınızın sürekli izlenmesine olanak sağlamak için Application Analizler ile tümleşir.
Sürekli izleme sayesinde yayın işlem hatları, Uygulama Analizler ve diğer Azure kaynaklarından gelen izleme verilerini birleştirebilir. Yayın işlem hattı bir Uygulama Analizler uyarısı algıladığında, işlem hattı uyarı çözümlenene kadar dağıtımın geçişini yapabilir veya geri alabilir. Tüm denetimler başarılı olursa, dağıtımlar el ile müdahaleye gerek kalmadan testten üretime kadar otomatik olarak devam edebilir.
Azure DevOps'ta bir kuruluş ve proje seçin.
Proje sayfasının sol menüsünde İşlem Hatları Yayınları'nı> seçin.
Yeni'nin yanındaki açılan oku seçin ve Yeni yayın işlem hattı'nı seçin. Veya henüz bir işlem hattınız yoksa, görüntülenen sayfada Yeni işlem hattı'nı seçin.
Şablon seçin bölmesinde, sürekli izleme ile hizmet dağıtımı Azure Uygulaması arayın ve seçin ve ardından Uygula'yı seçin.
1. Aşama kutusunda, Aşama görevlerini görüntüle bağlantısını seçin.
1. Aşama yapılandırma bölmesinde aşağıdaki alanları doldurun:
Parametre |
Value |
Aşama adı |
Bir aşama adı girin veya 1. aşamada bırakın. |
Azure Aboneliği |
Açılan oku seçin ve kullanmak istediğiniz bağlı Azure aboneliğini seçin. |
Uygulama türü |
Açılan oku seçin ve uygulama türünüzü seçin. |
App Service adı |
Azure Uygulaması Hizmetinizin adını girin. |
Uygulama Analizler için Kaynak Grubu adı |
Açılan oku seçin ve kullanmak istediğiniz kaynak grubunu seçin. |
Uygulama Analizler kaynak adı |
Açılan oku seçin ve seçtiğiniz kaynak grubu için Uygulama Analizler kaynağını seçin. |
İşlem hattını varsayılan uyarı kuralı ayarlarıyla kaydetmek için Azure DevOps penceresinin sağ üst köşesindeki Kaydet'i seçin. Açıklayıcı bir açıklama girin ve Tamam'ı seçin.
Uyarı kurallarını değiştirme
Sürekli izleme şablonuyla Azure Uygulaması Hizmeti dağıtımının dört uyarı kuralı vardır: Kullanılabilirlik, Başarısız istekler, Sunucu yanıt süresi ve Sunucu özel durumları. Hizmet düzeyi gereksinimlerinizi karşılamak için daha fazla kural ekleyebilir veya kural ayarlarını değiştirebilirsiniz.
Uyarı kuralı ayarlarını değiştirmek için:
Yayın işlem hattı sayfasının sol bölmesinde Uygulama Analizler Uyarılarını Yapılandır'ı seçin.
Dört varsayılan uyarı kuralı satır içi betik aracılığıyla oluşturulur:
$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";
Betiği değiştirebilir ve daha fazla uyarı kuralı ekleyebilirsiniz. Uyarı koşullarını da değiştirebilirsiniz. Ayrıca dağıtım amaçlarınız için anlamlı olmayan uyarı kurallarını kaldırabilirsiniz.
Dağıtım koşulları ekleme
Yayın işlem hattınıza dağıtım geçitleri eklediğinizde, ayarladığınız eşikleri aşan bir uyarı istenmeyen sürüm yükseltmesini engeller. Uyarıyı çözümledikten sonra dağıtım otomatik olarak devam edebilir.
Dağıtım geçitleri eklemek için:
Ana işlem hattı sayfasındaki Aşamalar'ın altında, hangi aşamanın sürekli izleme kapısına ihtiyaç duyduğuna bağlı olarak Dağıtım öncesi koşulları veya Dağıtım sonrası koşulları simgesini seçin.
Dağıtım öncesi koşulları yapılandırma bölmesinde Geçitler'i Etkin olarak ayarlayın.
Dağıtım geçitleri'nin yanında Ekle'yi seçin.
Açılan menüden Azure İzleyici uyarılarını sorgula'ya tıklayın. Bu seçenek hem Azure İzleyici hem de Uygulama Analizler uyarılarına erişmenizi sağlar.
Değerlendirme seçenekleri'nin altında, Geçitlerin yeniden değerlendirilmesi arasındaki süre ve Kapıların başarısız olduğu zaman aşımı gibi ayarlar için istediğiniz değerleri girin.
Yayın günlüklerini görüntüleme
Dağıtım geçidi davranışını ve diğer sürüm adımlarını yayın günlüklerinde görebilirsiniz. Günlükleri açmak için:
İşlem hattı sayfasının sol menüsünden Yayınlar'ı seçin.
Herhangi bir sürümü seçin.
Aşamalar'ın altında yayın özetini görüntülemek için herhangi bir aşamayı seçin.
Günlükleri görüntülemek için yayın özetinde Günlükleri görüntüle'yi seçin, herhangi bir aşamada Başarılı veya Başarısız köprüyü seçin ya da herhangi bir aşamanın üzerine gelip Günlükler'i seçin.
Ek açıklamalar, yeni bir derlemeyi veya diğer önemli olayları nereye dağıttığınızı gösterir. Ek açıklamalar, değişikliklerinizin uygulamanızın performansını etkileyip etkilemediğini görmenizi kolaylaştırır. Bunlar Azure Pipelines derleme sistemi tarafından otomatik olarak oluşturulabilir. Ayrıca, PowerShell'den oluşturarak istediğiniz herhangi bir olaya bayrak eklemek için ek açıklamalar da oluşturabilirsiniz.
Azure Pipelines derlemesi ile sürüm ek açıklamaları
Sürüm ek açıklamaları, Azure DevOps'un bulut tabanlı Azure Pipelines hizmetinin bir özelliğidir.
Aşağıdaki ölçütlerin tümü karşılanırsa dağıtım görevi yayın ek açıklamasını otomatik olarak oluşturur:
Dağıtmakta olduğunuz kaynak, uygulama ayarı aracılığıyla APPINSIGHTS_INSTRUMENTATIONKEY
Application Analizler'a bağlanır.
Uygulama Analizler kaynağı, dağıtmakta olduğunuz kaynakla aynı aboneliktedir.
Aşağıdaki Azure DevOps işlem hattı görevlerinden birini kullanıyorsunuz:
Görev kodu |
Görev adı |
Sürümler |
AzureAppService Ayarlar |
hizmet Ayarlar Azure Uygulaması |
Tümü |
AzureRmWebAppDeployment |
Azure Uygulaması Hizmeti dağıtımı |
V3 ve üzeri |
AzureFunctionApp |
Azure Functions |
Tümü |
AzureFunctionAppContainer |
Kapsayıcı için Azure İşlevleri |
Tümü |
AzureWebAppContainer |
Kapsayıcılar için Azure Web App |
Tümü |
AzureWebApp |
Azure Web App |
Tümü |
Not
Uygulama Analizler ek açıklama dağıtım görevini kullanmaya devam ediyorsanız, bunu silmeniz gerekir.
Önceki bölümdeki dağıtım görevlerinden birini kullanamıyorsanız, dağıtım işlem hattınıza satır içi bir betik görevi eklemeniz gerekir.
Yeni veya mevcut bir işlem hattına gidin ve bir görev seçin.
Yeni bir görev ekleyin ve Azure CLI'yi seçin.
İlgili Azure aboneliğini belirtin. Betik Türünü PowerShell olarak, Betik Konumunu satır içi olarak değiştirin.
Sonraki bölümdeki 2. adımdaki PowerShell betiğini Satır içi Betik'e ekleyin.
Aşağıdaki bağımsız değişkenleri ekleyin. Açılı köşeli ayraçlı yer tutucuları değerlerinizle Betik Bağımsız Değişkenleri olarak değiştirin. -releaseProperties
isteğe bağlıdır.
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
Aşağıdaki örnek, derleme ve yayın değişkenlerini kullanarak isteğe bağlı releaseProperties
bağımsız değişkende ayarlayabileceğiniz meta verileri gösterir.
-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)" }
Kaydet'i seçin.
Azure CLI ile yayın ek açıklamaları oluşturma
Azure DevOps kullanmadan istediğiniz herhangi bir işlemden ek açıklamalar oluşturmak için PowerShell betiğini kullanabilirsiniz CreateReleaseAnnotation
.
Azure CLI'da oturum açın.
Aşağıdaki betiğin yerel bir kopyasını oluşturup olarak adlandırın 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
$body = $annotation -replace '(\\+)"', '$1$1"' -replace "`"", "`"`""
az rest --method put --uri "$($aiResourceId)/Annotations?api-version=2015-05-01" --body "$($body) "
# Use the following command for Linux Azure DevOps Hosts or other PowerShell scenarios
# Invoke-AzRestMethod -Path "$aiResourceId/Annotations?api-version=2015-05-01" -Method PUT -Payload $body
Not
- Ek açıklamalarınızın Azure portalında görünmesi için Kategori seçeneğinin Dağıtım olarak ayarlanmış olması gerekir.
- "İstek bir varlık gövdesi içeriyor ama Content-Type üst bilgisi yok" hatasını alırsanız, aşağıdaki satırda değiştirme parametrelerini kaldırmayı deneyin.
$body = (ConvertTo-Json $annotation -Compress)
Aşağıdaki kodla PowerShell betiğini çağırın. Açılı köşeli ayraçlı yer tutucuları değerlerinizle değiştirin. -releaseProperties
isteğe bağlıdır.
.\CreateReleaseAnnotation.ps1 `
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
Bağımsız değişken |
Açıklama |
Not |
aiResourceId |
Hedef Uygulama Analizler kaynağının kaynak kimliği. |
Örnek: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyRGName/providers/microsoft.insights/components/MyResourceName |
releaseName |
Oluşturulan sürüm ek açıklamasını vermek için ad. |
|
releaseProperties |
Ek açıklamaya özel meta veriler eklemek için kullanılır. |
İsteğe bağlı |
Ek açıklamaları görüntüleme
Not
Sürüm ek açıklamaları şu anda Uygulama Analizler Ölçümler bölmesinde kullanılamaz.
Yeni bir sürümü dağıtmak için yayın şablonunu her kullandığınızda, Application Analizler'e bir ek açıklama gönderilir. Ek açıklamaları aşağıdaki konumlarda görüntüleyebilirsiniz:
Çalışma kitabınızda ek açıklamaları etkinleştirmek için Gelişmiş Ayarlar'e gidin ve Ek açıklamaları göster'i seçin.
İstek sahibi, kaynak denetimi dalı, yayın işlem hattı ve ortam gibi sürümle ilgili ayrıntıları açmak için herhangi bir ek açıklama işaretçisini seçin.
API anahtarlarını kullanarak sürüm ek açıklamaları
Sürüm ek açıklamaları, Azure DevOps'un bulut tabanlı Azure Pipelines hizmetinin bir özelliğidir.
Önemli
API anahtarlarını kullanan ek açıklamalar kullanım dışıdır. Bunun yerine Azure CLI kullanmanızı öneririz.
Ek açıklama uzantısını yükleme (bir kez)
Yayın ek açıklamaları oluşturmak için Visual Studio Market'te kullanılabilen birçok Azure DevOps uzantısından birini yükleyin.
Azure DevOps projenizde oturum açın.
Visual Studio MarketSürüm Ek Açıklamaları uzantısı sayfasında Azure DevOps kuruluşunuzu seçin. Uzantıyı Azure DevOps kuruluşunuza eklemek için Yükle'yi seçin.
Azure DevOps kuruluşunuz için uzantıyı yalnızca bir kez yüklemeniz gerekir. Artık kuruluşunuzdaki herhangi bir proje için yayın ek açıklamalarını yapılandırabilirsiniz.
Azure Pipelines yayın şablonlarınızın her biri için ayrı bir API anahtarı oluşturun.
Azure portalında oturum açın ve uygulamanızı izleyen Application Analizler kaynağını açın. Veya yoksa yeni bir Application Analizler kaynağı oluşturun.
API Erişimi sekmesini açın ve Uygulama Analizler Kimliğini kopyalayın.
Ayrı bir tarayıcı penceresinde Azure Pipelines dağıtımlarınızı yöneten yayın şablonunu açın veya oluşturun.
Görev ekle'yi seçin ve ardından menüden Uygulama Analizler Sürüm Ek Açıklaması görevini seçin.
Not
Yayın Ek Açıklaması görevi şu anda yalnızca Windows tabanlı aracıları destekler. Linux, macOS veya diğer aracı türlerinde çalışmaz.
Uygulama Kimliği'nin altında, API Erişimi sekmesinden kopyaladığınız Uygulama Analizler Kimliğini yapıştırın.
Uygulama Analizler API Erişimi penceresine dönüp API Anahtarı Oluştur'u seçin.
API anahtarı oluştur penceresinde bir açıklama girin, Ek açıklamalar yaz'ı ve ardından Anahtar oluştur'u seçin. Yeni anahtarı kopyalayın.
Yayın şablonu penceresindeki Değişkenler sekmesinde Ekle'yi seçerek yeni API anahtarı için bir değişken tanımı oluşturun.
Ad'ın altına ApiKey girin. Değer'in altında, API Erişimi sekmesinden kopyaladığınız API anahtarını yapıştırın.
Şablonu kaydetmek için ana yayın şablonu penceresinde Kaydet'i seçin.
Not
API anahtarları için sınırlar REST API hız sınırları belgelerinde açıklanmıştır.
Yeni sürüm ek açıklamasına geçiş
Yeni sürüm ek açıklamalarını kullanmak için:
- Yayın Ek Açıklamaları uzantısını kaldırın.
- Azure Pipelines dağıtımınızda Uygulama Analizler Yayın Ek Açıklaması görevini kaldırın.
- Azure Pipelines veya Azure CLI ile yeni sürüm ek açıklamaları oluşturun.
İş öğesi tümleştirme işlevi, GitHub'da veya Azure DevOps'ta, bunlara eklenmiş ilgili Application Analizler verilerine sahip iş öğelerini kolayca oluşturmanıza olanak tanır.
Yeni iş öğesi tümleştirmesi klasik özelliklere göre aşağıdaki özellikleri sunar:
- Atanan, projeler veya kilometre taşları gibi gelişmiş alanlar.
- GitHub ve Azure DevOps çalışma kitapları arasında ayrım yapabileceğiniz depo simgeleri.
- Herhangi bir sayıda depo veya iş öğesi için birden çok yapılandırma.
- Azure Resource Manager şablonları aracılığıyla dağıtım.
- İş öğelerinize Uygulama Analizler verileri eklemek için önceden oluşturulmuş ve özelleştirilebilir Anahtar Sözcük Sorgu Dili (KQL) sorguları.
- Özelleştirilebilir çalışma kitabı şablonları.
İş öğesi şablonu oluşturmak için Uygulama Analizler kaynağınıza gidin ve sol tarafta İş Öğelerini Yapılandır'ınaltında en üstte Yeni şablon oluştur'u seçin
Şu anda şablon yoksa, uçtan uca işlem ayrıntıları sekmesinden de bir iş öğesi şablonu oluşturabilirsiniz. Bir olay seçin ve sağ tarafta İş öğesi oluştur'u ve ardından Çalışma kitabı şablonuyla başlayın'ı seçin.
Yeni şablon oluştur'u seçtikten sonra, izleme sistemlerinizi seçebilir, çalışma kitabınızı adlandırabilir, seçtiğiniz izleme sistemine bağlantı verebilir ve şablonu depolamak için bir bölge seçebilirsiniz (varsayılan olarak Uygulama Analizler kaynağınızın bulunduğu bölgedir). URL parametreleri, https://github.com/myusername/reponame
https://dev.azure.com/{org}/{project}
örneğin veya deponuzun varsayılan URL'leridir.
Belirli iş öğesi özelliklerini doğrudan şablonun kendisinden ayarlayabilirsiniz. Bu, sürüm denetimi sağlayıcınıza bağlı olarak atananı, yineleme yolunu, projeleri ve daha fazlasını içerir.
İş öğesi oluştur
Yeni şablonunuza Performans, Hatalar, Kullanılabilirlik veya diğer sekmelerden erişebileceğiniz uçtan uca işlem ayrıntılarından erişebilirsiniz.
İş öğesi oluşturmak için Uçtan uca işlem ayrıntıları'na gidin, bir olay seçin, ardından İş öğesi oluştur'u seçin ve iş öğesi şablonunuzu seçin.
Tarayıcınızda yeni bir sekme, seçtiğiniz izleme sisteminize açılır. Azure DevOps'ta bir hata veya görev oluşturabilir ve GitHub'da deponuzda yeni bir sorun oluşturabilirsiniz. Uygulama Analizler tarafından sağlanan bağlamsal bilgilerle yeni bir iş öğesi otomatik olarak oluşturulur.
Şablonu düzenleme
Şablonunuzu düzenlemek için Yapılandır'ın altındaki İş Öğeleri sekmesine gidin ve güncelleştirmek istediğiniz çalışma kitabının yanındaki kalem simgesini seçin.
Üst araç çubuğunda düzenle'yi seçin.
Birden fazla iş öğesi yapılandırması oluşturabilir ve her senaryoya uygun özel bir çalışma kitabına sahip olabilirsiniz. Çalışma kitapları Azure Resource Manager tarafından dağıtılabilir ve ortamlarınız genelinde standart uygulamalar sağlanır.
Klasik iş öğesi tümleştirmesi
Uygulama Analizler kaynağınızda Yapılandır'ın altında İş Öğeleri'ne tıklayın.
Klasik'e Geç'i seçin, alanları bilgilerinizle doldurun ve yetkilendirilin.
Uçtan uca işlem ayrıntılarına gidip bir olay seçip İş öğesi oluştur (Klasik) seçeneğini belirleyerek bir iş öğesi oluşturun.
Yeni iş öğesi tümleştirmesine geçiş
Geçiş yapmak için klasik iş öğesi yapılandırmanızı silin ve tümleştirmenizi yeniden oluşturmak için bir iş öğesi şablonu oluşturun ve yapılandırın.
Silmek için, İş Öğelerini Yapılandır'ınaltındaki Uygulama Analizler kaynağınıza gidin, ardından Klasik'e geç'i ve en üstteki *Sil'i seçin.