GitHub Enterprise-stöd och automatiska GitHub-tjänstanslutningar i byggpipelines – Sprint 146-uppdatering
I Sprint 146-uppdateringen av Azure DevOps förbättrade vi vår GitHub-integrering med Azure Pipelines. Guiden Ny bygg-pipeline kan nu skapa pipelines för GitHub Enterprise-lagringsplatser. Den analyserar även din lagringsplats och ger förslag på en språkmall. Dessutom kan den skapa och återanvända tjänstanslutningar för de GitHub-lagringsplatser som du väljer.
Mer information finns i listan Funktioner nedan.
Funktioner
Allmänt:
Azure Boards:
Azure Pipelines:
- GitHub Enterprise-support i pipeline-guiden
- Automatiska GitHub-tjänstanslutningar i pipelines
- Visa status för varje pipeline-jobb i GitHub Checks
- Standardauktorisering för YAML-resurser i GitHub
- Tjänstecontainrar för YAML-pipelines
- Arbetsuppgifter som länkats till GitHub-incheckningar i versionssammanfattningen
- Nya Azure App Service-uppgifter som är optimerade för YAML
- Stöd för Azure Active Directory-autentisering (AD) för Azure SQL-uppgift
- Tjänstehook för Grafana-anteckningar
- Fråga Azure Monitor-aviseringsuppgifter
- Infogade indata av angiven fil i Distribuera till Kubernetes-uppgift
- Docker CLI-installationsuppgift
- Långsiktig support (LTS) för Java i värdbaserade Microsoft-agenter
- YAML-support för Bitbucket Cloud-pipelines
- Undvik att utlösa flera CI-versioner för pull-begäranden
- Ändra versionsnummer, ladda upp och ladda ned artefakter i förgrenade lagringsplatsversioner
- Nytt alternativ i Publicera testresultat-uppgift för att underkänna version av misslyckade tester
- Uppdateringar till Azure Portal för att skapa ett Azure DevOps-projekt
- Använd Azure-portalen för att konfigurera och distribuera till en CosmosDB-databas
- Konfigurera byggen och versionspipelines för Functions i Azure-portalen
Azure Artifacts:
Wiki:
- Teckensnitt i monorymd för Wiki Markdown-redigeraren
- Wiki-sidrubriker med fet stil
- Infoga Markdown-tabell
- Bädda in Azure Boards-frågeresultat i Wiki
Allmänt
Återställa borttagna projekt
I den här uppdateringen har vi lagt till möjligheten att återställa borttagna projekt från Azure DevOps-portalen. Om du har behörigheten "ta bort projekt" kan du också återställa ett borttaget projekt från sidan Organisations Inställningar > Översikt.
Azure-tavlor
Förenkla hur du organiserar ditt arbete med Basic-processen
Viktigt!
Basic-processen är en offentlig förhandsversion som standardprocess för nya projekt i nya organisationer som skapats i regionen USA, centrala.
Tidigare har Agile varit standardprocessen för nya projekt och erbjuder en robust och flexibel uppsättning arbetsobjekttyper och tillstånd som passar en mängd olika projektleveransmetoder. För vissa team, som är mer bekanta med andra verktyg eller som växer och vill använda en kraftfullare verktygsuppsättning, vill komma igång snabbt med terminologi som de är mer bekanta med.
Den nya Basic-processen innehåller tre typer av arbetsobjekt (epos, problem och uppgifter) för att planera och spåra ditt arbete. Vi rekommenderar att du använder Problem för att spåra saker som användarberättelser, buggar och funktioner när du använder Epics för att gruppera problem i större arbetsenheter. När du gör framsteg i ditt arbete flyttar du objekt längs ett enkelt tillståndsarbetsflöde med Att göra, Göra och Klar.
Se dokumentationen om spårproblem och uppgifter som hjälper dig att komma igång med ditt nya projekt.
Azure-pipelines
GitHub Enterprise-support i pipeline-guiden
Tidigare kunde du använda den visuella designern för att skapa pipelines för GitHub Enterprise-lagringsplatser. Nu kan du också använda guiden Ny bygg-pipeline för att skapa dina pipelines.
Guiden analyserar din GitHub Enterprise-lagringsplats för att föreslå en YAML-mall som matchar ditt projektspråk. Du kan sedan redigera och spara YAML som en direkt incheckning till din standardgren eller som en pull-begäran.
Mer information finns i dokumentationen om hur du skapar din första pipeline här.
Automatiska GitHub-tjänstanslutningar i pipelines
När du använder guiden Ny bygg-pipeline för att skapa en pipeline för GitHub, ledde sidan för att välja eller skapa en GitHub-tjänstanslutning till förvirring om vilken anslutning som ska väljas i listan. Nu behöver du inte välja en anslutning. Guiden skapar och återanvänder automatiskt en tjänstanslutning för den lagringsplats som du väljer.
Om du vill välja en annan anslutning manuellt än den som väljs automatiskt följer du hyperlänken Välj anslutning . Mer information finns i Skapa GitHub-lagringsplatser.
Kommentar
Valet baseras på GitHub-appen för Azure Pipelines (om den är installerad på lagringsplatsen) eller din personliga GitHub-identitet (med OAuth).
Visa status för varje pipeline-jobb i GitHub Checks
Tidigare publicerades en enda versionsstatus på GitHub Söker efter din pipeline även om den innehåller jobb för flera plattformar (t.ex. Linux, macOS och Windows). Nu publiceras statusen på GitHub Söker efter varje jobb i pipelinen. Dessutom kan du köra hela versionen igen eller bara enskilda misslyckade jobb från GitHub Checks. Om du vill använda den här funktionen måste din pipeline konfigureras för att använda Azure Pipelines GitHub-appen. Mer information finns i Integrera med GitHub-appen. Information om hur du konfigurerar en pipeline med jobb för flera plattformar finns i Skapa en pipeline för flera plattformar.
Standardauktorisering för YAML-resurser i GitHub
Om du hanterar källkoden i GitHub och använder YAML för att definiera din pipeline har du förmodligen drabbats av ett resursauktoriseringsfel. När du redigerade YAML-filen och lade till en referens till en av de skyddade resurserna (t.ex. tjänstanslutning, agentpool, variabelgrupp eller säker fil) kunde Azure Pipelines inte verifiera identiteten för den användare som gjorde ändringen och misslyckades med bygget. För att undvika det här problemet var du tvungen att spara bygg-pipelinen i webbredigeraren efter att ha gjort en ändring i YAML-filen. Många av de användare som drabbades av det här problemet ville bara tillåta alla pipelines att använda resursen.
För att undvika resursauktoriseringsfelet ändrade vi standardbeteendet för alla nya tjänstanslutningar, agentpooler och variabelgrupper som ska auktoriseras för användning i alla pipelines. Om du vill ha strängare kontroller på dina resurser kan du inaktivera standardauktoriseringsmodellen (se bilden nedan). När du gör det måste någon med behörighet att använda resursen spara pipelinen i webbredigeraren när en resursreferens har lagts till i YAML-filen.
Tjänstecontainrar för YAML-pipelines
Tidigare var du tvungen att installera, starta och stoppa tjänster som databaser eller minnescacheminnen om YAML-pipelinen använde dessa tjänster. Med den här uppdateringen har vi lagt till tjänstcontainrar som kan hantera dessa uppgifter. Om din pipeline till exempel använder en Redis-cache för integreringstester kan du inkludera redis-containeravbildningen som en tjänst i pipelinen. Agenten hämtar automatiskt avbildningen, startar den och nätverkar den så att pipelinestegen kan referera till den med värdnamnet redis. När pipelinen är klar kommer agenten att rensa tjänstcontainern.
Arbetsuppgifter som länkats till GitHub-incheckningar i versionssammanfattningen
I december introducerade vi möjligheten att länka GitHub-incheckningar till arbetsobjekt. Vi är glada över att kunna meddela att du nu kan se alla Azure Boards-arbetsobjekt som är länkade till GitHub-incheckningar på versionssammanfattningssidan. Detta hjälper team att spåra och hämta mer information om incheckningar som har distribuerats till en miljö.
Nya Azure App Service-uppgifter optimerade för YAML
Vi stöder nu fyra nya uppgifter som ger ett enkelt men kraftfullt sätt att distribuera Azure App Services med moderna utvecklare i åtanke. Dessa uppgifter har en optimerad YAML-syntax som gör det enkelt och intuitivt att skapa distributioner till Azure AppServices, inklusive WebApps, FunctionApps, WebApps for Containers och FunctionApp for Containers på både Windows- och Linux-plattformar.
Vi har också stöd för en ny verktygsuppgift för filtransformering och variabelersättning för XML- och JSON-format.
Stöd för Azure Active Directory-autentisering (AD) för Azure SQL-uppgift
Azure SQL-uppgiften har förbättrats för att stödja anslutning till en databas med hjälp av Azure AD (integrerat och lösenord) och en anslutningssträng utöver det befintliga stödet för SQL Server-autentisering.
Tjänstehook för Grafana-anteckningar
Nu har vi stöd för en ny tjänstkrok som gör att du kan lägga till Grafana-anteckningar för slutförda distributionshändelser på en Grafana-instrumentpanel. På så sätt kan du korrelera distributioner med de ändringar i program- eller infrastrukturmått som visualiseras på en Grafana-instrumentpanel.
Fråga Azure Monitor-aviseringsuppgifter
Den tidigare versionen av Query Azure Monitors-uppgiften stödde endast frågeaviseringar i den klassiska övervakningsmiljön. Med den här nya versionen av uppgiften kan du fråga efter aviseringar om den enhetliga övervakningsupplevelse som nyligen introducerades av Azure Monitor.
Infogade indata av angiven fil i Distribuera till Kubernetes-uppgift
Tidigare krävde Kubernetes-distributionsuppgiften att du angav en filsökväg för konfigurationen. Nu kan du också lägga till konfigurationen infogad.
Docker CLI-installationsuppgift
Den här uppgiften tillåter installation av valfri version av Docker CLI på agenterna enligt användarens angivenhet.
Långsiktig support (LTS) för Java i värdbaserade Microsoft-agenter
Tidigare hade Microsofts värdbaserade agenter JDK:er förinstallerade som överbelastades av komplex licensiering, slutanvändarbegränsningar och brist på långsiktig support. I den här uppdateringen ersatte vi JDK:erna med testade, certifierade LTS-versioner av OpenJDK från Azul Systems. Java-utvecklare som använder Azure kan nu skapa och köra Java-produktionsprogram med Azul Systems Zulu Enterprise-versioner av OpenJDK utan att medföra ytterligare supportkostnader.
Det här nya erbjudandet är utformat för att göra Microsofts värdbaserade Java-versioner och distributioner bekymmersfria genom att införa kvartalsvisa säkerhetsuppdateringar och buggkorrigeringar samt kritiska out-of-band-uppdateringar och korrigeringar efter behov. Om du för närvarande skapar eller kör Java-appar lokalt eller med andra JDK:er kan du överväga att flytta till Zulu i Azure för kostnadsfri support och underhåll. Mer information finns i bloggen Microsoft och Azul Systems bring free Java LTS support to Azure .
YAML-support för Bitbucket Cloud-pipelines
Tidigare hade YAML-baserade pipelines inte stöd för Bitbucket Cloud. Nu kan du antingen använda YAML för att definiera dina Bitbucket Cloud-pipelines eller använda den visuella designern för att göra detsamma. Om du vill använda YAML lägger du till en azure-pipelines.yml-fil på lagringsplatsen. I Azure Pipelines väljer du Ny bygg-pipeline och sedan Använd hyperlänken för visual designer , väljer "Bitbucket Cloud" och "YAML". Här kan du ange sökvägen till lagringsplatsens YAML-fil.
Mer information finns i YAML-syntaxguiden och GitHub-lagringsplatsen för YAML-exempel.
Undvik att utlösa flera CI-versioner för pull-begäranden
YAML-byggmallarna som ingår i Azure Pipelines har konfigurerats för att utlösa byggen för alla grenar på en lagringsplats. Detta inkluderade avsnittsgrenar för pull-begäranden. Därför utlöstes två versioner när pull-begäranden skapades. En version för pull-begärandegrenen som svar på utlösaren för kontinuerlig integrering och en andra version för pull-begärandegrenen som svar på utlösaren för pull-begäran.
Med hjälp av YAML-kodfragmentet nedan konfigureras de inbyggda YAML-mallarna för att utlösa en kontinuerlig integreringsversion endast för huvudgrenen. Nya pull-begäranden skapas fortfarande med utlösaren för pull-begäran. Mer information finns i dokumentationen för bygg-pipelineutlösare .
trigger:
- main
Ändra versionsnummer, ladda upp och ladda ned artefakter i förgrenade lagringsplatsversioner
Hittills har valideringsversioner av pull-begäranden för förgrenade lagringsplatser inte behörighet att ladda upp och ladda ned byggartefakter eller ändra versionsnumret. Behörigheterna begränsades eftersom det var osäkert att göra agentens bredare behörigheter tillgängliga under en förgreningsversion som utlöstes av en okänd användare. Med den här uppdateringen är agentbehörigheter begränsade så att din pipeline kan utföra dessa åtgärder om du behöver.
Nedan visas ett exempel på YAML som du kan använda för att arkivera byggutdata i en tar.gz-fil i katalogen för artefaktlagring. Sedan publicerar den utdata till Azure Pipelines som ska associeras med bygget. Mer information finns i dokumentationen om uppgiften Arkivfiler och Publicera byggartefakter.
- task: ArchiveFiles@2
inputs:
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: '$(build.sourcesDirectory)/target'
archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(build.artifactStagingDirectory)'
Nytt alternativ i Publicera testresultat-uppgift för att underkänna version av misslyckade tester
Uppgiften Publicera testresultat används för att publicera testresultat till Azure Pipelines när tester körs med valfritt testresultat. Hittills skulle uppgiften helt enkelt publicera resultat från en resultatfil och skulle inte misslyckas med bygget även om resultatfilen innehöll misslyckade tester. Det innebar att du var tvungen att skriva anpassade steg för att skapa fel vid testfel.
Vi har nu lagt till ett alternativ i uppgiften för att misslyckas med bygget om det finns några misslyckade tester.
Uppdateringar till Azure Portal för att skapa ett Azure DevOps-projekt
Azure-portalen innehåller nu ytterligare funktioner för att stödja fler ramverk och tjänster när du skapar ett Azure DevOps-projekt. Nedan visas listan över ändringar för varje område.
Ramverk
Azure IoT är en fullständigt hanterad tjänst som levererar molninformation lokalt på plattformsoberoende IoT-enheter. Nu kan du skapa ett Azure DevOps-projekt från Azure Portal och använda Simple IoT som programramverk.
Tjänst
Tidigare stödde arbetsflödet Skapa Azure DevOps-projekt i Azure-portalen endast Skapa nytt som ett alternativ för Kubernetes Service. Ett nytt alternativ har lagts till så att du kan välja ett befintligt kluster som distributionsmål för pipelinekonfigurationen.
Använd Azure-portalen för att konfigurera och distribuera till en CosmosDB-databas
För närvarande kan du använda arbetsflödet för Azure DevOps Project i Azure-portalen för att konfigurera bygg- och versionspipelines för en Git-lagringsplats. Nu kan du distribuera till Azure Web App for Containers (Linux) eller Azure Kubernetes Service med en CosmosDB etablerad som en databas som stöder apparna på dessa mål. Detta är för närvarande tillgängligt för alla Node.js-mallar och vi förväntar oss att lägga till stöd för andra mallar i framtiden.
Konfigurera byggen och versionspipelines för Functions i Azure-portalen
Nu kan du använda arbetsflödet för Azure DevOps Project i Azure-portalen för att konfigurera bygg- och versionspipelines för Git-lagringsplatsen som distribuerar Azure Functions 2.0 (Windows). Det här är funktioner som är tillgängliga för Node.js och .NET Core.
Azure Artifacts
Paketanvändningsstatistik
Hittills har Azure Artifacts inte varit ett sätt att mäta paketens användning eller popularitet. Med den här uppdateringen har vi lagt till antalet nedladdningar och användare i både paketlistan och paketinformationssidorna. Du kan se statistiken till höger på endera sidan.
Wiki
Teckensnitt i monorymd för Wiki Markdown-redigeraren
Med introduktionen av monorymdsteckensnitt för Wiki Markdown-redigeraren är läsbarhet inte längre en utmaning. Markdown-källan ser ren och lättläst ut. Den här funktionen har prioriterats baserat på den här förslagsbegäran.
Wiki-sidrubriker med fet stil
Tidigare såg både Wiki-sidrubriken och Rubrik 1 likadana ut. Detta gjorde det svårt för läsarna att skilja mellan dem. Nu har Wiki-sidtitlarna gjorts djärva och skiljer sig från rubrik 1. Den här funktionen har prioriterats baserat på den här förslagsbegäran.
Infoga Markdown-tabell
Det är inte längre en utmaning att skapa Markdown-tabeller i en wiki. Nu kan du lägga till en Markdown-tabell med ett klick på en knapp. Den här funktionen har prioriterats baserat på den här funktionsförslagsbiljetten.
Bädda in Azure Boards-frågeresultat i Wiki
Nu kan du bädda in Azure Boards-frågeresultat på en wiki-sida i form av en tabell. Bilden nedan visar ett exempel på en wiki-sida med en lista över alla funktioner som släppts och alla aktiva buggar i den aktuella sprinten som är inbäddad i wikin. Innehållet som visas på sidan använder en befintlig arbetsobjektfråga. Med den här nya funktionen kan du skapa dynamiskt innehåll och inte behöva oroa dig för att manuellt uppdatera wiki-sidan.
Frågeresultatet kan läggas till i två steg
- Klicka på knappen "Frågeresultat" i verktygsfältet redigera.
- Välj den obligatoriska frågan och klicka på knappen Infoga.
Resultatet av frågan kan nu visas i form av en tabell när du har sparat sidan.
Detta har prioriterats baserat på följande funktionsförslag:
Nästa steg
Kommentar
Dessa funktioner kommer att distribueras under de kommande två till tre veckorna.
Läs om de nya funktionerna nedan och gå till Azure DevOps för att prova dem själv.
Så här ger du feedback
Vi vill gärna höra vad du tycker om de här funktionerna. Använd feedbackmenyn för att rapportera ett problem eller ge ett förslag.
Du kan också få råd och dina frågor som besvaras av communityn på Stack Overflow.
Tack,
Jeremy Epling