Dela via


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:

Azure Artifacts:

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.

Organize work using the Basic process.

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.

GitHub Enterprise support in the pipeline wizard.

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.

Edit and save the YAML.

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.

Display status for each pipeline job.

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.

Default authorization for YAML resources.

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.

Azure AD authentication support for Azure SQL task.

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.

Grafana annotations service hook.

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.

Query Azure Monitor alerts tasks.

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.

Inline input of spec file in Deploy to Kubernetes task.

Docker CLI-installationsuppgift

Den här uppgiften tillåter installation av valfri version av Docker CLI på agenterna enligt användarens angivenhet.

Docker CLI Installer task.

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.

Fail the build if there are any failed tests.

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.

Use the Simple IoT as the application framework.

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.

Choose an existing cluster as the deployment target for the pipeline setup.

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.

Use the Azure Portal to set up and deploy to an Azure Cosmos DB database.

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.

Set up builds and release pipelines for Functions in Azure portal.

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.

Package usage stats.

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.

Monospaced font for Wiki Markdown editor.

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.

Bold Wiki page titles.

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.

Insert Markdown table.

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.

Embed Azure Boards query results in Wiki.

Frågeresultatet kan läggas till i två steg

  1. Klicka på knappen "Frågeresultat" i verktygsfältet redigera.

Select the Query Results button from the edit toolbar.

  1. 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.

View results of the query.

Detta har prioriterats baserat på följande funktionsförslag:

  1. Frågor om arbetsobjekt i Wiki
  2. Lägga till dynamiskt Wiki-innehåll

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.

Make a suggestion

Du kan också få råd och dina frågor som besvaras av communityn på Stack Overflow.

Tack,

Jeremy Epling