Inzichten in release- en werkitems zijn cruciaal voor het optimaliseren van de levenscyclus van softwareontwikkeling. Naarmate toepassingen zich ontwikkelen, is het essentieel om elke release en de bijbehorende werkitems nauw te bewaken. Deze inzichten markeren prestatieknelpunten en stellen teams proactief in staat om problemen op te lossen, zodat de implementatie en gebruikerservaring soepel verlopen. Ze stellen ontwikkelaars en belanghebbenden in staat beslissingen te nemen, processen aan te passen en hoogwaardige software te leveren.
Azure Pipelines kan worden geïntegreerd met Application Insights om continue bewaking van uw Azure DevOps-releasepijplijn mogelijk te maken gedurende de levenscyclus van softwareontwikkeling.
Met continue bewaking kunnen releasepijplijnen bewakingsgegevens opnemen uit Application Insights en andere Azure-resources. Wanneer de release-pijplijn een Application Insights-waarschuwing detecteert, kan de pijplijn de implementatie sluiten of terugdraaien totdat de waarschuwing is opgelost. Als alle controles zijn geslaagd, kunnen implementaties automatisch worden uitgevoerd van het testen tot de productie, zonder dat er handmatige interventie nodig is.
Selecteer in Azure DevOps een organisatie en project.
Selecteer Pijplijnreleases> in het linkermenu van de projectpagina.
Selecteer de vervolgkeuzepijl naast Nieuw en selecteer Nieuwe release-pijplijn. Als u nog geen pijplijn hebt, selecteert u Nieuwe pijplijn op de pagina die wordt weergegeven.
Zoek en selecteer in het deelvenster Een sjabloon selecteren Azure-app Service-implementatie met continue bewaking en selecteer vervolgens Toepassen.
Selecteer in het vak Fase 1 de hyperlink naar fasetaken weergeven.
Vul in het configuratievenster Fase 1 de volgende velden in:
Parameter |
Weergegeven als |
Fasenaam |
Geef een fasenaam op of laat deze staan in fase 1. |
Azure-abonnement |
Selecteer de vervolgkeuzepijl en selecteer het gekoppelde Azure-abonnement dat u wilt gebruiken. |
Type app |
Selecteer de vervolgkeuzepijl en selecteer uw app-type. |
App Service-naam |
Voer de naam van uw Azure-app Service in. |
Naam van resourcegroep voor Application Insights |
Selecteer de vervolgkeuzepijl en selecteer de resourcegroep die u wilt gebruiken. |
Naam van Application Insights-resource |
Selecteer de vervolgkeuzepijl en selecteer de Application Insights-resource voor de resourcegroep die u hebt geselecteerd. |
Als u de pijplijn wilt opslaan met de standaardinstellingen voor waarschuwingsregels, selecteert u Opslaan in de rechterbovenhoek van het Azure DevOps-venster. Voer een beschrijvende opmerking in en selecteer OK.
Waarschuwingsregels wijzigen
Standaard bevat de Azure-app-service-implementatie met een sjabloon voor continue bewaking vier waarschuwingsregels: Beschikbaarheid, Mislukte aanvragen, Reactietijd van server en Serveruitzondering. U kunt meer regels toevoegen of de regelinstellingen wijzigen om te voldoen aan uw serviceniveaubehoeften.
Instellingen voor waarschuwingsregels wijzigen:
Selecteer Application Insights-waarschuwingen configureren in het linkerdeelvenster van de releasepijplijnpagina.
De vier standaardwaarschuwingsregels worden gemaakt via een Inline-script:
$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";
U kunt het script wijzigen en meer waarschuwingsregels toevoegen. U kunt ook de waarschuwingsvoorwaarden wijzigen. En u kunt waarschuwingsregels verwijderen die niet logisch zijn voor uw implementatiedoeleinden.
Implementatievoorwaarden toevoegen
Wanneer u implementatiepoorten toevoegt aan uw release-pijplijn, voorkomt een waarschuwing die de drempelwaarden overschrijdt die u instelt ongewenste releasepromotie. Nadat u de waarschuwing hebt opgelost, kan de implementatie automatisch worden voortgezet.
Implementatiepoorten toevoegen:
Selecteer op de hoofdpijplijnpagina onder Fasen het symbool voorwaarden vóór de implementatie of het symbool voorwaarden na de implementatie, afhankelijk van welke fase een continue bewakingspoort nodig heeft.
Stel poorten in op Ingeschakeld in het deelvenster Configuratievoorwaarden vóór de implementatie.
Selecteer Toevoegen naast implementatiepoorten.
Selecteer Query's uitvoeren op Azure Monitor-waarschuwingen in de vervolgkeuzelijst. Met deze optie hebt u toegang tot zowel Azure Monitor- als Application Insights-waarschuwingen.
Voer onder Evaluatieopties de gewenste waarden in voor instellingen zoals de tijd tussen het opnieuw evalueren van poorten en de time-out waarna poorten mislukken.
Releaselogboeken weergeven
U kunt het gedrag van de implementatiepoort en andere releasestappen in de releaselogboeken bekijken. De logboeken openen:
Selecteer Releases in het linkermenu van de pijplijnpagina.
Selecteer een release.
Selecteer onder Fasen een fase om een releaseoverzicht weer te geven.
Als u logboeken wilt weergeven, selecteert u Logboeken weergeven in het releaseoverzicht, selecteert u de hyperlink Geslaagd of Mislukt in een fase, of beweegt u de muisaanwijzer over een fase en selecteert u Logboeken.
Aantekeningen laten zien waar u een nieuwe build of andere belangrijke gebeurtenissen hebt geïmplementeerd. Aantekeningen maken het gemakkelijk om te zien of uw wijzigingen van invloed zijn op de prestaties van uw toepassing. Ze kunnen automatisch worden gemaakt door het buildsysteem van Azure Pipelines . U kunt ook aantekeningen maken om een willekeurige gebeurtenis te markeren door deze te maken vanuit PowerShell.
Aantekeningen vrijgeven met Azure Pipelines-build
Releaseaantekeningen zijn een functie van de Azure Pipelines-service in de cloud van Azure DevOps.
Als aan alle volgende criteria wordt voldaan, maakt de implementatietaak automatisch de releaseaantekening:
De resource waaraan u implementeert, is via de APPINSIGHTS_INSTRUMENTATIONKEY
app-instelling gekoppeld aan Application Insights.
De Application Insights-resource bevindt zich in hetzelfde abonnement als de resource waarop u implementeert.
U gebruikt een van de volgende Azure DevOps-pijplijntaken:
Taakcode |
Taaknaam |
Versies |
AzureAppServiceSettings |
Azure-app-service-instellingen |
Alle |
AzureRmWebAppDeployment |
Azure-app-service implementeren |
V3 en hoger |
AzureFunctionApp |
Azure Functions |
Alle |
AzureFunctionAppContainer |
Azure Functions voor container |
Alle |
AzureWebAppContainer |
Azure Web App for Containers |
Alle |
AzureWebApp |
Azure Web App |
Alle |
Notitie
Als u nog steeds de implementatietaak van Application Insights gebruikt, moet u deze verwijderen.
Als u een van de implementatietaken in de vorige sectie niet kunt gebruiken, moet u een inlinescripttaak toevoegen aan uw implementatiepijplijn.
Ga naar een nieuwe of bestaande pijplijn en selecteer een taak.
Voeg een nieuwe taak toe en selecteer Azure CLI.
Geef het relevante Azure-abonnement op. Wijzig het scripttype in PowerShell en scriptlocatie in Inline.
Voeg het PowerShell-script uit stap 2 in de volgende sectie toe aan Inline Script.
Voeg de volgende argumenten toe. Vervang de tijdelijke aanduidingen tussen punthaken door uw waarden in Scriptargumenten. De -releaseProperties
zijn optioneel.
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
In het volgende voorbeeld ziet u metagegevens die u in het optionele releaseProperties
argument kunt instellen met behulp van build - en releasevariabelen .
-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)" }
Selecteer Opslaan.
Releaseaantekeningen maken met de Azure CLI
U kunt het CreateReleaseAnnotation
PowerShell-script gebruiken om aantekeningen te maken op basis van elk gewenst proces zonder Azure DevOps te gebruiken.
Meld u aan bij de Azure CLI.
Maak een lokale kopie van het volgende script en roep het aan 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
Notitie
- Voor uw aantekeningen moet categorie zijn ingesteld op Implementatie om weer te geven in Azure Portal.
- Als er een foutbericht wordt weergegeven: 'De aanvraag bevat een entiteitstekst, maar geen inhoudstype-header', verwijdert u de vervangingsparameters in de volgende regel.
$body = (ConvertTo-Json $annotation -Compress)
Roep het PowerShell-script aan met de volgende code. Vervang de tijdelijke aanduidingen tussen punthaken door uw waarden. De -releaseProperties
zijn optioneel.
.\CreateReleaseAnnotation.ps1 `
-aiResourceId "<aiResourceId>" `
-releaseName "<releaseName>" `
-releaseProperties @{"ReleaseDescription"="<a description>";
"TriggerBy"="<Your name>" }
Argument |
Definitie |
Notitie |
aiResourceId |
De resource-id voor de Doel Application Insights-resource. |
Voorbeeld: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e/resourceGroups/MyRGName/providers/microsoft.insights/components/MyResourceName |
releaseName |
De naam voor het maken van de releaseaantekening. |
|
releaseProperties |
Wordt gebruikt om aangepaste metagegevens toe te voegen aan de aantekening. |
Optioneel |
Aantekeningen weergeven
Notitie
Releaseaantekeningen zijn momenteel niet beschikbaar in het deelvenster Metrische gegevens van Application Insights.
Wanneer u de releasesjabloon gebruikt om een nieuwe release te implementeren, wordt er een aantekening verzonden naar Application Insights. U kunt aantekeningen weergeven op de volgende locaties:
Als u aantekeningen in uw werkmap wilt inschakelen, gaat u naar Geavanceerde instellingen en selecteert u Aantekeningen weergeven.
Selecteer een aantekeningsmarkering om details over de release te openen, waaronder aanvrager, bronbeheerbranch, releasepijplijn en omgeving.
Aantekeningen vrijgeven met behulp van API-sleutels
Releaseaantekeningen zijn een functie van de Azure Pipelines-service in de cloud van Azure DevOps.
Belangrijk
Aantekeningen die gebruikmaken van API-sleutels, worden afgeschaft. U wordt aangeraden in plaats daarvan de Azure CLI te gebruiken.
De extensie voor aantekeningen installeren (eenmalig)
Als u releaseaantekeningen wilt maken, installeert u een van de vele Azure DevOps-extensies die beschikbaar zijn in Visual Studio Marketplace.
Meld u aan bij uw Azure DevOps-project .
Selecteer uw Azure DevOps-organisatie op de pagina releaseaantekeningen van Visual Studio Marketplace. Selecteer Installeren om de extensie toe te voegen aan uw Azure DevOps-organisatie.
U hoeft de extensie slechts eenmaal te installeren voor uw Azure DevOps-organisatie. U kunt nu releaseaantekeningen configureren voor elk project in uw organisatie.
Maak een afzonderlijke API-sleutel voor elk van uw Azure Pipelines-releasesjablonen.
Meld u aan bij Azure Portal en open de Application Insights-resource die uw toepassing bewaakt. Of als u er nog geen hebt, maakt u een nieuwe Application Insights-resource.
Open het tabblad API Access en kopieer de Application Insights-id.
Open of maak in een afzonderlijk browservenster de releasesjabloon waarmee uw Azure Pipelines-implementaties worden beheerd.
Selecteer Taak toevoegen en selecteer vervolgens de Aantekeningstaak van Application Insights vrijgeven in het menu.
Notitie
De releaseaantekeningstaak ondersteunt momenteel alleen Windows-agents. Deze wordt niet uitgevoerd op Linux, macOS of andere typen agents.
Plak onder Toepassings-id de Application Insights-id die u hebt gekopieerd van het tabblad API Access .
Selecteer Api-sleutel maken in het access-venster van Application Insights API.
Voer in het venster API-sleutel maken een beschrijving in, selecteer Aantekeningen schrijven en selecteer vervolgens Sleutel genereren. Kopieer de nieuwe sleutel.
Selecteer Toevoegen in het releasesjabloonvenster op het tabblad Variabelen om een variabeledefinitie voor de nieuwe API-sleutel te maken.
Voer onder Naam ApiKey in. Plak onder Waarde de API-sleutel die u hebt gekopieerd van het tabblad API Access .
Selecteer Opslaan in het hoofdvenster van de releasesjabloon om de sjabloon op te slaan.
Notitie
Limieten voor API-sleutels worden beschreven in de documentatie over frequentielimieten voor REST API's.
Overgang naar de nieuwe releaseaantekening
De nieuwe releaseaantekeningen gebruiken:
- Verwijder de extensie ReleaseAantekeningen.
- Verwijder de application Insights-releaseaantekeningstaak in uw Azure Pipelines-implementatie.
- Maak nieuwe releaseaantekeningen met Azure Pipelines of de Azure CLI.
Met de integratiefunctionaliteit van werkitems kunt u eenvoudig werkitems maken in GitHub of Azure DevOps waarvoor relevante Application Insights-gegevens zijn ingesloten.
De integratie van nieuwe werkitems biedt de volgende functies ten opzichte van de klassieke versie:
- Geavanceerde velden, zoals toegewezen, projecten of mijlpalen.
- Opslagplaatspictogrammen zodat u onderscheid kunt maken tussen GitHub - en Azure DevOps-werkmappen.
- Meerdere configuraties voor een willekeurig aantal opslagplaatsen of werkitems.
- Implementatie via Azure Resource Manager-sjablonen.
- Vooraf gebouwde en aanpasbare KQL-query's (Keyword Query Language) om Application Insights-gegevens toe te voegen aan uw werkitems.
- Aanpasbare werkmapsjablonen.
Als u een werkitemsjabloon wilt maken, gaat u naar uw Application Insights-resource en selecteert u aan de linkerkant onder Werkitems configureren en selecteert u bovenaan een nieuwe sjabloon maken
U kunt ook een werkitemsjabloon maken op het tabblad details van de end-to-end transactie, als er momenteel geen sjabloon bestaat. Selecteer een gebeurtenis en selecteer aan de rechterkant Een werkitem maken en begin met een werkmapsjabloon.
Nadat u een nieuwe sjabloon hebt gemaakt, kunt u uw trackingsystemen kiezen, uw werkmap een naam geven, een koppeling maken naar het geselecteerde traceringssysteem en een regio kiezen voor het opslaan van de sjabloon (de standaardregio is de regio waarin uw Application Insights-resource zich bevindt). De URL-parameters zijn bijvoorbeeld de standaard-URL voor uw opslagplaats, https://github.com/myusername/reponame
of https://dev.azure.com/{org}/{project}
.
U kunt specifieke eigenschappen van werkitems rechtstreeks vanuit de sjabloon zelf instellen. Dit omvat het toegewezen pad, iteratiepad, projecten en meer, afhankelijk van uw versiebeheerprovider.
Notitie
Voor on-premises Azure DevOps-omgevingen kan een voorbeeld-URL, zoals https://dev.azure.com/test/test deze worden gebruikt als tijdelijke aanduiding voor de Azure DevOps-project-URL. Zodra de werkitemsjabloon is gemaakt, kunt u de URL en de bijbehorende validatieregel in de gegenereerde Azure-werkmap wijzigen.
Een werkitem maken
U kunt toegang krijgen tot uw nieuwe sjabloon vanuit alle end-to-end transactiegegevens waartoe u toegang hebt via de tabbladen Prestaties, Fouten, Beschikbaarheid of andere tabbladen.
Als u een werkitem wilt maken, gaat u naar end-to-end transactiegegevens, selecteert u een gebeurtenis en selecteert u Werkitem maken en kiest u uw werkitemsjabloon .
Er wordt een nieuw tabblad in uw browser geopend voor uw systeem voor het bijhouden van selecties. In Azure DevOps kunt u een fout of taak maken en in GitHub kunt u een nieuw probleem maken in uw opslagplaats. Er wordt automatisch een nieuw werkitem gemaakt met contextuele informatie van Application Insights.
Een sjabloon bewerken
Als u de sjabloon wilt bewerken, gaat u naar het tabblad Werkitems onder Configureren en selecteert u het potloodpictogram naast de werkmap die u wilt bijwerken.
Selecteer bewerken in de bovenste werkbalk.
U kunt meer dan één werkitemconfiguratie maken en een aangepaste werkmap hebben om aan elk scenario te voldoen. De werkmappen kunnen ook worden geïmplementeerd door Azure Resource Manager, zodat standaard implementaties in uw omgevingen worden gegarandeerd.
Integratie van klassiek werkitem
Selecteer Werkitems in uw Application Insights-resource onder Configureren.
Selecteer Overschakelen naar klassiek, vul de velden in met uw gegevens en autoriseren.
Maak een werkitem door naar de end-to-end transactiegegevens te gaan, een gebeurtenis te selecteren en vervolgens Werkitem maken (klassiek) te selecteren.
Migreren naar de integratie van nieuwe werkitems
Als u wilt migreren, verwijdert u de configuratie van het klassieke werkitem en maakt en configureert u vervolgens een werkitemsjabloon om uw integratie opnieuw te maken.
Als u wilt verwijderen, gaat u naar uw Application Insights-resource onder Configureren , selecteert u Werkitems configureren en selecteert u vervolgens Overschakelen naar klassiek en *Verwijderen bovenaan.