A kiadási és munkaelem-elemzések kulcsfontosságúak a szoftverfejlesztési életciklus optimalizálásához. Az alkalmazások fejlődésével elengedhetetlen az egyes kiadások és a munkaelemek szoros monitorozása. Ezek az elemzések kiemelik a teljesítmény szűk keresztmetszeteit, és proaktív módon oldják meg a problémákat, biztosítva a zökkenőmentes üzembe helyezést és a felhasználói élményt. Felkészítik a fejlesztőket és az érdekelt feleket a döntések meghozatalára, a folyamatok módosítására és a kiváló minőségű szoftverek nyújtására.
Az Azure Pipelines integrálható az Application Elemzések alkalmazással, így lehetővé teszi az Azure DevOps kiadási folyamatának folyamatos monitorozását a szoftverfejlesztési életciklus során.
A folyamatos monitorozással a kiadási folyamatok az Alkalmazás Elemzések és más Azure-erőforrások figyelési adatait is magukba foglalhatják. Amikor a kiadási folyamat észlel egy alkalmazás Elemzések riasztást, a folyamat a riasztás feloldásáig kaput nyithat vagy visszaállíthat az üzembe helyezést. Ha minden ellenőrzés sikeres, az üzembe helyezések automatikusan, manuális beavatkozás nélkül, egészen az éles környezetig folytathatják a tesztelést.
Az Azure DevOpsban válasszon ki egy szervezetet és projektet.
A projektlap bal oldali menüjében válassza a Pipelines Releases (Folyamatok kiadásai)> lehetőséget.
Válassza az Új elem melletti legördülő nyilat, és válassza az Új kiadási folyamat lehetőséget. Ha még nem rendelkezik folyamatokkal, válassza az Új folyamatot a megjelenő lapon.
A Sablon kiválasztása panelen keresse meg és válassza ki a Azure-alkalmazás szolgáltatás üzembe helyezését folyamatos figyeléssel, majd válassza az Alkalmaz lehetőséget.
Az 1. fázis mezőben válassza a szakaszfeladatok megtekintésére mutató hivatkozást.
Az 1. fázis konfigurációs paneljén töltse ki a következő mezőket:
Paraméter |
Érték |
Szakasz neve |
Adjon meg egy szakasznevet, vagy hagyja meg az 1. szakaszban. |
Azure-előfizetés |
Válassza ki a legördülő nyilat, és válassza ki a használni kívánt társított Azure-előfizetést. |
Alkalmazás típusa |
Válassza ki a legördülő nyilat, és válassza ki az alkalmazás típusát. |
App Service-név |
Adja meg a Azure-alkalmazás szolgáltatás nevét. |
Az alkalmazás Elemzések erőforráscsoportjának neve |
Válassza ki a legördülő nyilat, és válassza ki a használni kívánt erőforráscsoportot. |
Alkalmazás Elemzések erőforrás neve |
Válassza ki a legördülő nyilat, és válassza ki a kijelölt erőforráscsoport alkalmazás-Elemzések erőforrását. |
A folyamat alapértelmezett riasztási szabálybeállításokkal való mentéséhez válassza a Mentés lehetőséget az Azure DevOps ablakának jobb felső sarkában. Írjon be egy leíró megjegyzést, és válassza az OK gombot.
Riasztási szabályok módosítása
A Azure-alkalmazás szolgáltatás folyamatos figyelési sablonnal való üzembe helyezése négy riasztási szabályt kínál: rendelkezésre állás, sikertelen kérelmek, kiszolgálói válaszidő és kiszolgálói kivételek. További szabályokat adhat hozzá, vagy módosíthatja a szabálybeállításokat a szolgáltatási szint igényeinek megfelelően.
Riasztási szabály beállításainak módosítása:
A kiadási folyamat lapjának bal oldali ablaktábláján válassza az Alkalmazás Elemzések riasztások konfigurálása lehetőséget.
A négy alapértelmezett riasztási szabály beágyazott szkripttel jön létre:
$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";
Módosíthatja a szkriptet, és további riasztási szabályokat adhat hozzá. A riasztási feltételeket is módosíthatja. Eltávolíthatja azokat a riasztási szabályokat, amelyek nem értik az üzembe helyezési céljait.
Üzembehelyezési feltételek hozzáadása
Amikor üzembehelyezési kapukat ad hozzá a kiadási folyamathoz, a beállított küszöbértékeket meghaladó riasztás megakadályozza a nem kívánt kiadási előléptetést. A riasztás feloldása után az üzembe helyezés automatikusan folytatódhat.
Üzembehelyezési kapuk hozzáadása:
A fő folyamat oldalán, a Szakaszok területen válassza ki az üzembe helyezés előtti feltételeket vagy az üzembe helyezés utáni állapotszimbólumot attól függően, hogy melyik szakaszban van szükség folyamatos monitorozási kapura.
Az üzembe helyezés előtti feltételek konfigurációs paneljén állítsa a Gates beállítást Engedélyezve értékre.
Az Üzembehelyezési kapuk mellett válassza a Hozzáadás lehetőséget.
Válassza az Azure Monitor-riasztások lekérdezése lehetőséget a legördülő menüben. Ez a beállítás lehetővé teszi az Azure Monitor és az Alkalmazás Elemzések riasztások elérését.
A Kiértékelési beállítások területen adja meg a beállításokhoz használni kívánt értékeket, például a kapuk újraértékelése és az időtúllépés közötti időt, amely után a kapuk sikertelenek lesznek.
Kiadási naplók megtekintése
A kiadási naplókban láthatja az üzembehelyezési kapu viselkedését és egyéb kiadási lépéseit. A naplók megnyitása:
A folyamatoldal bal oldali menüjében válassza a Releases (Kiadások) lehetőséget.
Válassza ki a kívánt kiadást.
A Szakaszok területen válasszon ki egy szakaszt a kiadás összegzésének megtekintéséhez.
A naplók megtekintéséhez válassza a Naplók megtekintése lehetőséget a kiadás összegzésében, jelölje ki a sikeres vagy sikertelen hivatkozást bármelyik szakaszban, vagy mutasson bármelyik szakaszra, és válassza a Naplók lehetőséget.
A széljegyzetek azt mutatják, hogy hol helyezte üzembe az új buildet vagy más jelentős eseményeket. A széljegyzetek megkönnyítik annak megállapítását, hogy a módosítások hatással voltak-e az alkalmazás teljesítményére. Ezeket az Azure Pipelines buildrendszere automatikusan létrehozhatja . Széljegyzeteket is létrehozhat a kívánt események megjelöléséhez a PowerShellből való létrehozásukkal.
Kibocsátási megjegyzések az Azure Pipelines buildeléssel
A kibocsátási széljegyzetek az Azure DevOps felhőalapú Azure Pipelines szolgáltatásának funkciói.
Ha az alábbi feltételek teljesülnek, az üzembe helyezési feladat automatikusan létrehozza a kibocsátási megjegyzést:
A központilag üzembe helyezendő erőforrás az alkalmazásbeállításon keresztül kapcsolódik az APPINSIGHTS_INSTRUMENTATIONKEY
Alkalmazás Elemzések.
Az alkalmazás Elemzések erőforrás ugyanabban az előfizetésben található, mint az erőforrás, amelyre üzembe helyezve van.
A következő Azure DevOps-folyamatfeladatok egyikét használja:
Feladatkód |
Feladat neve |
Verziók |
AzureAppService Gépház |
Azure-alkalmazás szolgáltatás Gépház |
Bármely |
AzureRmWebAppDeployment |
Azure-alkalmazás szolgáltatás üzembe helyezése |
V3 és újabb |
AzureFunctionApp |
Azure Functions |
Bármely |
AzureFunctionAppContainer |
Azure Functions tárolóhoz |
Bármely |
AzureWebAppContainer |
Azure Web App for Containers |
Bármely |
AzureWebApp |
Azure-webalkalmazás |
Bármely |
Feljegyzés
Ha továbbra is az Alkalmazás Elemzések jegyzetterjesztési feladatot használja, törölje azt.
Ha az előző szakaszban nem tudja használni az egyik üzembehelyezési feladatot, hozzá kell adnia egy beágyazott szkriptfeladatot az üzembehelyezési folyamathoz.
Lépjen egy új vagy meglévő folyamatra, és válasszon ki egy feladatot.
Adjon hozzá egy új feladatot, és válassza az Azure CLI-t.
Adja meg a megfelelő Azure-előfizetést. Módosítsa a szkript típusát PowerShellre, a szkript helyét pedig beágyazottra.
Adja hozzá a PowerShell-szkriptet a következő szakasz 2. lépésétől a beágyazott szkripthez.
Adja hozzá a következő argumentumokat. Cserélje le a szögletes zárójeles helyőrzőket a szkriptargumentumok értékére. Ezek -releaseProperties
nem kötelezőek.
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
Az alábbi példa a választható releaseProperties
argumentumban megadható metaadatokat mutatja be buildelési és kiadási változók használatával.
-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)" }
Válassza a Mentés lehetőséget.
Kibocsátási széljegyzetek létrehozása az Azure CLI-vel
A CreateReleaseAnnotation
PowerShell-szkripttel bármilyen folyamatból létrehozhat jegyzeteket az Azure DevOps használata nélkül.
Jelentkezzen be az Azure CLI-be.
Készítsen egy helyi másolatot a következő szkriptről, és hívja meg.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
Feljegyzés
- A széljegyzeteknek üzembe helyezési kategóriával kell rendelkezniük ahhoz, hogy megjelenjenek az Azure Portalon.
- Ha a következő hibaüzenet jelenik meg: "A kérelem egy entitástörzset tartalmaz, de nem tartalmaz Tartalomtípus fejlécet", próbálja meg eltávolítani a csereparamétereket a következő sorban.
$body = (ConvertTo-Json $annotation -Compress)
Hívja meg a PowerShell-szkriptet az alábbi kóddal. Cserélje le a szögletes zárójeles helyőrzőket az értékekre. Ezek -releaseProperties
nem kötelezőek.
.\CreateReleaseAnnotation.ps1 `
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
Argumentum |
Definíció |
Feljegyzés |
aiResourceId |
A célalkalmazás erőforrás-azonosítója Elemzések erőforrás. |
Példa: /subscriptions/000000000-0000-0000-0000-0000000000/resourceGroups/MyRGName/providers/microsoft.insights/components/MyResourceName |
releaseName |
A létrehozott kiadási széljegyzetet adhatja meg. |
|
releaseProperties |
Egyéni metaadatok csatolására szolgál a széljegyzethez. |
Választható |
Széljegyzetek megtekintése
Feljegyzés
A kibocsátási széljegyzetek jelenleg nem érhetők el az Alkalmazás Elemzések Metrikák paneljén.
Amikor a kiadási sablont használja egy új kiadás üzembe helyezéséhez, a rendszer egy megjegyzést küld az Alkalmazás Elemzések. A széljegyzeteket a következő helyeken tekintheti meg:
Ha engedélyezni szeretné a jegyzeteket a munkafüzetben, lépjen a Speciális Gépház elemre, és válassza a Széljegyzetek megjelenítése lehetőséget.
Jelöljön ki egy széljegyzetjelölőt a kiadás részleteinek megnyitásához, beleértve a kérelmezőt, a forrásvezérlő ágat, a kiadási folyamatot és a környezetet.
Széljegyzetek kiadása API-kulcsokkal
A kibocsátási széljegyzetek az Azure DevOps felhőalapú Azure Pipelines szolgáltatásának funkciói.
Fontos
Az API-kulcsokat használó széljegyzetek elavultak. Javasoljuk, hogy inkább az Azure CLI-t használja.
A széljegyzetek bővítmény telepítése (egyszer)
Kiadási széljegyzetek létrehozásához telepítse a Visual Studio Marketplace-en elérhető számos Azure DevOps-bővítmény egyikét.
Jelentkezzen be az Azure DevOps-projektbe .
A Visual Studio MarketplaceRelease Annotations bővítményoldalán válassza ki az Azure DevOps-szervezetet. Válassza az Install (Telepítés) lehetőséget a bővítmény Azure DevOps-szervezethez való hozzáadásához.
Csak egyszer kell telepítenie a bővítményt az Azure DevOps-szervezet számára. Mostantól a szervezet bármely projektjéhez konfigurálhat kibocsátási megjegyzéseket.
Hozzon létre egy külön API-kulcsot minden Egyes Azure Pipelines-kiadási sablonhoz.
Jelentkezzen be az Azure Portalra, és nyissa meg az alkalmazást figyelő alkalmazás Elemzések erőforrást. Vagy ha nem rendelkezik ilyen erőforrással, hozzon létre egy új alkalmazás-Elemzések erőforrást.
Nyissa meg az API Access lapot, és másolja az alkalmazás Elemzések azonosítóját.
Egy külön böngészőablakban nyissa meg vagy hozza létre az Azure Pipelines-üzemelő példányokat kezelő kiadási sablont.
Válassza a Feladat hozzáadása lehetőséget, majd a menüben válassza az Alkalmazás Elemzések Kiadási megjegyzés feladatát.
Feljegyzés
A Kibocsátási megjegyzések feladat jelenleg csak a Windows-alapú ügynököket támogatja. Linuxon, macOS-en vagy más típusú ügynökökön nem fog futni.
Az Alkalmazásazonosító területen illessze be az API Access lapról másolt alkalmazás-Elemzések azonosítót.
Az Alkalmazás Elemzések API Access ablakában válassza az API-kulcs létrehozása lehetőséget.
Az API-kulcs létrehozása ablakban adjon meg egy leírást, válassza az Írási széljegyzetek lehetőséget, majd válassza a Kulcs létrehozása lehetőséget. Másolja ki az új kulcsot.
A kiadási sablon ablak Változók lapján válassza a Hozzáadás lehetőséget az új API-kulcs változódefiníciójának létrehozásához.
A Név mezőbe írja be az ApiKey nevet. Az Érték csoportban illessze be az API Access lapról másolt API-kulcsot.
A sablon mentéséhez válassza a Mentés lehetőséget a fő kiadási sablonablakban.
Váltás az új kiadási széljegyzetre
Az új kiadási széljegyzetek használata:
- Távolítsa el a Release Annotations bővítményt.
- Távolítsa el az Alkalmazás Elemzések Kiadási megjegyzés feladatát az Azure Pipelines üzembe helyezésében.
- Hozzon létre új kibocsátási megjegyzéseket az Azure Pipelines vagy az Azure CLI használatával.
A munkaelem-integrációs funkcióval egyszerűen hozhat létre olyan munkaelemeket a GitHubon vagy az Azure DevOpsban, amelyekbe releváns alkalmazás Elemzések adatok vannak beágyazva.
Az új munkaelem-integráció a következő funkciókat kínálja a klasszikushoz:
- Speciális mezők, például hozzárendelések, projektek vagy mérföldkövek.
- Adattárikonok, hogy különbséget tehessünk a GitHub és az Azure DevOps munkafüzetek között.
- Több konfiguráció tetszőleges számú adattárhoz vagy munkaelemhez.
- Üzembe helyezés Azure Resource Manager-sablonokon keresztül.
- Előre összeállított és testre szabható kulcsszólekérdezési nyelv (KQL) lekérdezések alkalmazás Elemzések adatok munkahelyi elemekhez való hozzáadásához.
- Testre szabható munkafüzetsablonok.
Munkaelem-sablon létrehozásához lépjen az alkalmazáshoz Elemzések erőforráshoz, és a bal oldalon válassza a Munkaelemek kiválasztása lehetőséget, majd a tetején válassza az Új sablon létrehozása lehetőséget
Munkaelem-sablont is létrehozhat a végpontok közötti tranzakció részletei lapon, ha jelenleg nincs sablon. Jelöljön ki egy eseményt, majd a jobb oldalon válassza a Munkaelem létrehozása, majd a Kezdés munkafüzetsablonnal lehetőséget.
Miután kiválasztotta az új sablon létrehozását, kiválaszthatja a nyomkövetési rendszereket, elnevezheti a munkafüzetet, hivatkozhat a kiválasztott nyomkövetési rendszerre, és kiválaszthatja a sablon tárolására szolgáló régiót (az alapértelmezett az az alkalmazás, amelyben az erőforrás található Elemzések erőforrás). Az URL-paraméterek az adattár alapértelmezett URL-címei, például https://github.com/myusername/reponame
https://dev.azure.com/{org}/{project}
.
Konkrét munkaelem-tulajdonságokat közvetlenül a sablonból állíthat be. Ez magában foglalja a hozzárendelést, az iterációs útvonalat, a projekteket és egyebeket a verziókövetési szolgáltatótól függően.
Munkaelem létrehozása
Az új sablont a teljesítmény, a hibák, a rendelkezésre állás vagy más lapokról elérhető, végpontok közötti tranzakció részleteiből érheti el.
Munkaelem létrehozásához lépjen a végpontok közötti tranzakció részleteire, jelöljön ki egy eseményt, majd válassza a Munkaelem létrehozása lehetőséget, és válassza ki a munkaelem-sablont.
A böngészőben egy új lap nyílik meg a kiválasztott nyomkövetési rendszer számára. Az Azure DevOpsban létrehozhat egy hibát vagy feladatot, a GitHubon pedig létrehozhat egy új problémát az adattárban. A rendszer automatikusan létrehoz egy új munkaelemet az Alkalmazás Elemzések által biztosított környezeti információkkal.
Sablon szerkesztése
A sablon szerkesztéséhez lépjen a Konfigurálás csoportban a Munkaelemek lapra, és válassza a frissíteni kívánt munkafüzet melletti ceruza ikont.
Válassza a szerkesztés lehetőséget a felső eszköztáron.
Több munkaelem-konfigurációt is létrehozhat, és egyéni munkafüzetekkel is rendelkezhet, amelyek megfelelnek az egyes forgatókönyveknek. A munkafüzeteket az Azure Resource Manager is üzembe helyezheti, biztosítva a környezetek szabványos implementációit.
Klasszikus munkaelem-integráció
Az alkalmazás Elemzések erőforrásban a Munkaelemek konfigurálása csoportban.
Válassza a Váltás klasszikusra lehetőséget, töltse ki a mezőket az adataival, és engedélyezze az engedélyezést.
Hozzon létre egy munkaelemet a végpontok közötti tranzakció részleteinek megtekintésével, válasszon ki egy eseményt, majd válassza a Munkaelem létrehozása (klasszikus) lehetőséget.
Migrálás új munkaelem-integrációba
A migráláshoz törölje a klasszikus munkaelem-konfigurációt, majd hozzon létre és konfiguráljon egy munkaelem-sablont az integráció újbóli létrehozásához.
A törléshez nyissa meg az alkalmazás Elemzések erőforrást a Munkaelemek konfigurálása csoportban, majd válassza a Váltás klasszikusra és a *Törlés felülre lehetőséget.