Skapa din första pipeline

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Det här är en stegvis guide till hur du använder Azure Pipelines för att skapa ett exempelprogram från en Git-lagringsplats. Den här guiden använder YAML-pipelines som konfigurerats med YAML-pipelineredigeraren. Om du vill använda klassiska pipelines i stället kan du läsa Definiera din klassiska pipeline. Vägledning om hur du använder TFVC finns i Skapa TFVC-lagringsplatser.

Förutsättningar – Azure DevOps

Se till att du har följande objekt:

  • Ett GitHub-konto där du kan skapa en lagringsplats. Skapa en kostnadsfritt.

  • En Azure DevOps-organisation. Skapa en kostnadsfritt. Om ditt team redan har ett kontrollerar du att du är administratör för det Azure DevOps-projekt som du vill använda.

  • En möjlighet att köra pipelines på Microsoft-värdbaserade agenter. Om du vill använda Microsoft-värdbaserade agenter måste din Azure DevOps-organisation ha åtkomst till Microsoft-värdbaserade parallella jobb. Du kan antingen köpa ett parallellt jobb eller begära ett kostnadsfritt bidrag.

Skapa din första pipeline

Hämta Java-exempelkoden

Kom igång genom att förgrena följande lagringsplats till ditt GitHub-konto.

https://github.com/MicrosoftDocs/pipelines-java

Skapa din första Java-pipeline

  1. Logga in på din Azure DevOps-organisation och gå till projektet.

  2. Gå till Pipelines och välj sedan Ny pipeline eller Skapa pipeline om du skapar din första pipeline.

  3. Utför stegen i guiden genom att först välja GitHub som plats för källkoden.

  4. Du kan omdirigeras till GitHub för att logga in. I så fall anger du dina GitHub-autentiseringsuppgifter.

  5. När du ser listan över lagringsplatser väljer du din lagringsplats.

  6. Du kan omdirigeras till GitHub för att installera Azure Pipelines-appen. I så fall väljer du Godkänn och installera.

  1. Azure Pipelines analyserar lagringsplatsen och rekommenderar Maven-pipelinemallen .

  2. När den nya pipelinen visas tar du en titt på YAML för att se vad den gör. När du är klar väljer du Spara och kör.

  3. Du uppmanas att checka in en ny azure-pipelines.yml fil på lagringsplatsen. När du är nöjd med meddelandet väljer du Spara och kör igen.

    Om du vill se din pipeline i praktiken väljer du byggjobbet.

    Du har precis skapat och kört en pipeline som vi skapade automatiskt åt dig, eftersom koden verkade vara en bra matchning för Maven-mallen .

    Nu har du en fungerande YAML-pipeline (azure-pipelines.yml) på din lagringsplats som är redo att anpassas!

  4. När du är redo att göra ändringar i din pipeline väljer du den på sidan Pipelines och sedan Redigeraazure-pipelines.yml filen.

Läs mer om att arbeta med Java i din pipeline.

Visa och hantera dina pipelines

Du kan visa och hantera dina pipelines genom att välja Pipelines på den vänstra menyn för att gå till landningssidan för pipelines.

Skärmbild av landningssidan för pipelines.

Från landningssidan för pipelines kan du visa pipelines och pipelinekörningar, skapa och importera pipelines, hantera säkerhet och öka detaljnivån i pipeline och köra information.

Välj Senaste för att visa pipelines som nyligen körts (standardvyn) eller välj Alla för att visa alla pipelines.

Skärmbild av alternativ för att visa pipelinekörningar på landningssidan för pipelines.

Välj en pipeline för att hantera pipelinen och visa körningarna. Välj versionsnumret för den senaste körningen för att visa resultatet av bygget, välj grennamnet för att visa grenen för den körningen eller välj snabbmenyn för att köra pipelinen och utföra andra hanteringsåtgärder.

Skärmbild av pipelines som nyligen körts.

Välj Körningar för att visa alla pipelinekörningar. Du kan också filtrera de visade körningarna.

Skärmbild av pipelinekörningar.

Välj en pipelinekörning för att visa information om den körningen.

Du kan välja Att behålla eller ta bort en körning från snabbmenyn. Mer information om körningskvarhållning finns i Skapa och släppa kvarhållningsprinciper.

Skärmbild av snabbmenyn för pipelinekörning.

Visa pipelineinformation

På informationssidan för en pipeline kan du visa och hantera pipelinen.

Skärmbild av sidan med pipelineinformation.

Välj Redigera för att redigera din pipeline. Mer information finns i YAML-pipelineredigeraren. Du kan också redigera din pipeline genom att ändra azure-pipelines.yml-filen direkt på lagringsplatsen som är värd för pipelinen.

Visa information om pipelinekörning

Från sammanfattningen av pipelinekörningen kan du visa status för din körning, både när den körs och när den är klar.

Skärmbild av sammanfattning av pipelinekörning.

I sammanfattningsfönstret kan du visa jobb- och steginformation, ladda ned artefakter och navigera till länkade incheckningar, testresultat och arbetsobjekt.

Jobb och faser

Fönstret Jobb visar en översikt över statusen för dina steg och jobb. Det här fönstret kan ha flera flikar beroende på om din pipeline har faser och jobb, eller bara jobb. I det här exemplet har pipelinen två steg med namnet Build och Deploy. Du kan öka detaljnivån i pipelinestegen genom att välja jobbet från antingen fönstret Steg eller Jobb .

Skärmbild av pipelinejobb och faser.

Välj ett jobb för att se stegen för jobbet.

Skärmbild av pipelineaktiviteter.

Från stegvyn kan du granska status och information om varje steg. Från Fler åtgärder kan du växla tidsstämplar eller visa en rålogg med alla steg i pipelinen.

Skärmbild av innehållsmenyn för pipelineaktiviteter.

Avbryt och kör en pipeline igen

Om pipelinen körs kan du avbryta den genom att välja Avbryt. Om körningen har slutförts kan du köra pipelinen igen genom att välja Kör ny.

Skärmbild av att avbryta en pipelinekörning.

Menyn Pipeline kör fler åtgärder

På menyn Fler åtgärder kan du ladda ned loggar, lägga till taggar, redigera pipelinen, ta bort körningen och konfigurera kvarhållning för körningen.

Skärmbild av menyn för fler åtgärder på sammanfattningssidan för pipelinekörning.

Kommentar

Du kan inte ta bort en körning om den bevaras. Om du inte ser Ta bort väljer du Sluta behålla körningen och tar sedan bort körningen. Om du ser både Delete (Ta bort) och View retention releases (Visa kvarhållningsversioner) gäller fortfarande en eller flera konfigurerade kvarhållningsprinciper för din körning. Välj View retention releases (Visa kvarhållningsversioner), ta bort principerna (endast principerna för den valda körningen tas bort) och ta sedan bort körningen.

Lägga till ett statusmärke på lagringsplatsen

Många utvecklare vill visa att de håller kodkvaliteten hög genom att visa ett statusmärke på lagringsplatsen.

Statusmärke visar att Azure-pipelinen har slutförts

Så här kopierar du statusmärket till Urklipp:

  1. I Azure Pipelines går du till sidan Pipelines för att visa listan över pipelines. Välj den pipeline som du skapade i föregående avsnitt.

  2. Välj och välj sedan Statusmärke.

  3. Välj Status-märke.

  4. Kopiera markdown-exemplet från avsnittet Exempelmarkering.

Nu med märket Markdown i Urklipp gör du följande i GitHub:

  1. Gå till listan med filer och välj Readme.md. Välj pennikon för att redigera.

  2. Klistra in statusmärket Markdown i början av filen.

  3. Checka in ändringen till grenen main .

  4. Observera att statusikonen visas i beskrivningen av lagringsplatsen.

Så här konfigurerar du anonym åtkomst till märken för privata projekt:

  1. Navigera till Project Inställningar i det nedre vänstra hörnet på sidan

  2. Öppna fliken Inställningar under Pipelines

  3. Växla skjutreglaget Inaktivera anonym åtkomst till märken under Allmänt

Kommentar

Även i ett privat projekt är anonym märkesåtkomst aktiverad som standard. När anonym märkesåtkomst är aktiverad kan användare utanför organisationen kanske fråga efter information som projektnamn, grennamn, jobbnamn och byggstatus via api:et för aktivitetsstatus.

Eftersom du precis har ändrat filen på den Readme.md här lagringsplatsen skapar Azure Pipelines automatiskt din kod, enligt konfigurationen azure-pipelines.yml i filen i roten på lagringsplatsen. Observera att en ny körning visas i Azure Pipelines. Varje gång du redigerar startar Azure Pipelines en ny körning.

Vi visar hur du använder den klassiska redigeraren i Azure DevOps Server 2019 för att skapa en version som skriver ut "Hello world".

Förutsättningar

Initiera lagringsplatsen

Om du redan har en lagringsplats i projektet kan du gå vidare till nästa steg: Hoppa till att lägga till ett skript på lagringsplatsen

  1. Gå till Azure Repos. (Den Kodhubben i föregående navigering)

    Lagringsfiler

  2. Om projektet är tomt får du en skärm som hjälper dig att lägga till kod på lagringsplatsen. Välj det nedre valet för att initiera lagringsplatsen med en readme fil:

    Initiera lagringsplats

Lägga till ett skript på lagringsplatsen

Skapa ett PowerShell-skript som skriver ut Hello world.

  1. Gå till Azure Repos.

  2. Lägg till en fil.

    På fliken Filer går du till lagringsplatsens nod och väljer alternativet Ny fil

  3. I dialogrutan namnger du den nya filen och skapar den.

    HelloWorld.ps1
    
  4. Kopiera och klistra in det här skriptet.

    Write-Host "Hello world"
    
  5. Checka in (spara) filen.

I den här självstudien fokuserar vi på CI/CD, så vi håller koddelen enkel. Vi arbetar på en Azure Repos Git-lagringsplats direkt i webbläsaren.

När du är redo att börja skapa och distribuera en riktig app kan du använda ett brett utbud av versionskontrollklienter och tjänster med Azure Pipelines CI-versioner. Läs mer.

Skapa en bygg-pipeline

Skapa en byggpipeline som skriver ut "Hello world".

  1. Välj Azure Pipelines. Det bör automatiskt ta dig till sidan Versioner .

    Gå till fliken Versioner

  2. Skapa en ny pipeline.

    Välj fliken Skapa

    För nya Azure DevOps-användare kommer detta automatiskt att ta dig till yaml-pipelinens skapandeupplevelse. För att komma till den klassiska redigeraren och slutföra den här guiden måste du inaktivera förhandsgranskningsfunktionen för den nya YAML-pipelinen:

    Klicka på inställningar längst upp till höger på skärmen och klicka på förhandsgranskningsfunktioner

    Klicka på växlingsknappen för att inaktivera yaml-förhandsgranskningsfunktionen

  3. Kontrollera att käll-, projekt-, lagringsplatsen och standardgrenen matchar den plats där du skapade skriptet.

  4. Börja med ett tomt jobb.

  5. Till vänster väljer du Pipeline och anger vilket namn du vill använda. För agentpoolen väljer du Värdbaserad VS2017.

  6. Till vänster väljer du plustecknet ( + ) för att lägga till en uppgift i Jobb 1. Till höger väljer du kategorin Verktyg , väljer PowerShell-aktiviteten i listan och väljer sedan Lägg till.

    Lägg till byggaktiviteten i jobbet

  7. Välj den nya PowerShell-skriptuppgiften till vänster.

  8. För argumentet Skriptsökväg väljer du knappen för att bläddra i lagringsplatsen och väljer det skript som du skapade.

    Välj skriptet

  9. Välj Spara & kö och välj sedan Spara.

En byggpipeline är den entitet genom vilken du definierar din automatiserade bygg-pipeline. I bygg-pipelinen skapar du en uppsättning uppgifter som var och en utför ett steg i bygget. Aktivitetskatalogen innehåller en omfattande uppsättning uppgifter som du kan komma igång med. Du kan också lägga till PowerShell- eller shell-skript i bygg-pipelinen.

Publicera en artefakt från din version

En typisk version skapar en artefakt som sedan kan distribueras till olika steg i en version. För att demonstrera funktionen på ett enkelt sätt publicerar vi helt enkelt skriptet som artefakt.

  1. På fliken Uppgifter väljer du plustecknet ( + ) för att lägga till en aktivitet i Jobb 1.

  2. Välj kategorin Verktyg, välj aktiviteten Publicera byggartefakter och välj sedan Lägg till.

    Lägg till publiceringsartefaktaktiviteten

    Sökväg att publicera: Välj knappen för att bläddra och välj det skript som du skapade.

    Artefaktnamn: Ange drop.

    Artefaktpubliceringsplats: Välj Azure Artifacts/TFS.

Artefakter är de filer som du vill att bygget ska producera. Artefakter kan vara nästan vad som helst som ditt team behöver för att testa eller distribuera din app. Du har till exempel en .DLL och .EXE körbara filer och . PDB-symbolfilen för en C#- eller C++ .NET Windows-app.

För att du ska kunna skapa artefakter tillhandahåller vi verktyg som kopiering med mönstermatchning och en mellanlagringskatalog där du kan samla in artefakter innan du publicerar dem. Se Artefakter i Azure Pipelines.

Aktivera kontinuerlig integrering (CI)

  1. Välj fliken Utlösare .

  2. Aktivera kontinuerlig integrering.

En utlösare för kontinuerlig integrering på en byggpipeline anger att systemet automatiskt ska köa en ny version när en kodändring genomförs. Du kan göra utlösaren mer allmän eller mer specifik och även schemalägga ditt bygge (till exempel per natt). Se Skapa utlösare.

Spara och köa bygget

Spara och köa en version manuellt och testa bygg-pipelinen.

  1. Välj Spara & kö och välj sedan Spara och kö.

  2. I dialogrutan väljer du Spara och köa igen.

    Detta köar en ny version av den Microsoft-värdbaserade agenten.

  3. Du ser en länk till det nya bygget överst på sidan.

    byggkonsol

    Välj länken för att titta på den nya versionen när det händer. När agenten har allokerats börjar du se liveloggarna för bygget. Observera att PowerShell-skriptet körs som en del av bygget och att "Hello world" skrivs ut till konsolen.

    Titta i byggkonsolen

  4. Gå till byggsammanfattningen. Observera att skriptet publiceras som en artefakt på fliken Artefakter i bygget.

    Öppna byggkonsolen för att se artefakten

Lägg till några variabler och genomför en ändring i skriptet

Vi skickar några byggvariabler till skriptet för att göra pipelinen lite mer intressant. Sedan genomför vi en ändring av ett skript och ser ci-pipelinen köras automatiskt för att verifiera ändringen.

  1. Redigera bygg-pipelinen.

  2. På fliken Uppgifter väljer du PowerShell-skriptaktiviteten.

  3. Lägg till dessa argument.

Öppna PowerShell-aktiviteten i byggkonsolen

Argument

-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"

Spara slutligen bygg-pipelinen.

Därefter lägger du till argumenten i skriptet.

  1. Gå till dina filer i Azure Repos ( kodhubben i föregående navigering och TFS).

  2. Välj filen HelloWorld.ps1 och sedan Redigera filen.

  3. Ändra skriptet på följande sätt:

    Param(
    [string]$greeter,
    [string]$trigger
    )
    Write-Host "Hello world" from $greeter
    Write-Host Trigger: $trigger
    
  4. Checka in (spara) skriptet.

Nu kan du se resultatet av dina ändringar. Gå till Azure Pipelines och välj Köad. Observera under avsnittet I kö eller körning att en version automatiskt utlöses av den ändring som du har checkat in.

  1. Välj den nya versionen som skapades och visa loggen.

  2. Observera att personen som ändrade koden har skrivit ut sitt namn i hälsningsmeddelandet. Du ser också att det här var en CI-version.

Skapa en sammanfattning av PowerShell-skriptloggen

Vi har precis introducerat begreppet byggvariabler i de här stegen. Vi skrev ut värdet för en variabel som automatiskt fördefinierade och initieras av systemet. Du kan också definiera anpassade variabler och använda dem antingen i argument till dina uppgifter eller som miljövariabler i skripten. Mer information om variabler finns i Skapa variabler.

Du har en bygg-pipeline. Vad händer härnäst?

Du har skapat en byggpipeline som automatiskt skapar och validerar den kod som kontrolleras av ditt team. Nu kan du fortsätta till nästa avsnitt för att lära dig mer om versionspipelines. Eller, om du vill, kan du gå vidare för att skapa en bygg-pipeline för din app.

Skapa en versionspipeline

Definiera processen för att köra skriptet i två steg.

  1. Gå till fliken Pipelines och välj sedan Versioner.

  2. Välj åtgärden för att skapa en ny pipeline. Om en versionspipeline redan har skapats väljer du plustecknet ( + ) och väljer sedan Skapa en versionspipeline.

  3. Välj åtgärden för att börja med ett tomt jobb.

  4. Namnge fas-QA.

  5. I panelen Artefakter väljer du + Lägg till och anger en källa (bygg-pipeline). Markera Lägga till.

  6. Välj blixten för att utlösa kontinuerlig distribution och aktivera sedan utlösaren Kontinuerlig distribution till höger.

    Välj blixt för att utlösa kontinuerlig distribution

  7. Välj fliken Uppgifter och välj din QA-fas .

  8. Välj plustecknet ( + ) för jobbet för att lägga till en uppgift i jobbet.

  9. I dialogrutan Lägg till aktiviteter väljer du Verktyg, letar upp PowerShell-aktiviteten och väljer sedan knappen Lägg till.

  10. Välj den nya PowerShell-skriptuppgiften till vänster.

  11. För argumentet Skriptsökväg väljer du knappen för att bläddra bland artefakterna och väljer skriptet som du skapade.

  12. Lägg till följande argument:

    -greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
    
  13. På fliken Pipeline väljer du QA-fasen och väljer Klona.

    Klona versionsmiljön i QA

  14. Byt namn på den klonade fasen Produktion.

  15. Byt namn på versionspipelinen Hello World.

    Byt namn på versionspipelinens hello world

  16. Spara versionspipelinen.

En versionspipeline är en samling steg som programbyggartefakterna distribueras till. Den definierar också den faktiska distributionspipelinen för varje steg, samt hur artefakterna befordras från en fas till en annan.

Observera också att vi använde vissa variabler i våra skriptargument. I det här fallet använde vi versionsvariabler i stället för de byggvariabler som vi använde för bygg-pipelinen.

Distribuera en version

Kör skriptet i varje steg.

  1. Skapa en ny version.

    Skapa version – DevOps 2019 och 2020

    När Skapa ny version visas väljer du Skapa.

  2. Öppna den version som du skapade.

    release created – DevOps 2019 och 2020

  3. Visa loggarna för att hämta realtidsdata om versionen.

    versionsloggar – DevOps 2019 och 2020

Du kan spåra förloppet för varje version för att se om den har distribuerats till alla faser. Du kan spåra incheckningar som ingår i varje version, tillhörande arbetsobjekt och resultaten av alla testkörningar som du har lagt till i versionspipelinen.

Ändra din kod och se den distribueras automatiskt till produktion

Vi gör ytterligare en ändring i skriptet. Den här gången skapas den automatiskt och distribueras sedan hela vägen till produktionsfasen.

  1. Gå till fliken Kodhubb, Filer, redigera Filen HelloWorld.ps1 och ändra den på följande sätt:

    Param(
    [string]$greeter,
    [string]$trigger
    )
    Write-Host "Hello world" from $greeter
    Write-Host Trigger: $trigger
    Write-Host "Now that you've got CI/CD, you can automatically deploy your app every time your team checks in code."
    
  2. Checka in (spara) skriptet.

  3. Välj fliken Versioner för att se bygget i kö och köra.

  4. När bygget är klart väljer du fliken Versioner, öppnar den nya versionen och går sedan till loggarna.

Den nya koden distribueras automatiskt i QA-fasen och sedan i produktionsfasen .

sista loggen för versionsskriptet – DevOps 2019 och 2020

I många fall skulle du förmodligen vilja redigera versionspipelinen så att produktionsdistributionen bara sker efter att vissa tester och godkännanden har införts. Se översikt över Godkännanden och grindar.

Nästa steg

Du har precis lärt dig hur du skapar din första pipeline i Azure. Läs mer om hur du konfigurerar pipelines på valfritt språk:

Eller så kan du fortsätta att anpassa pipelinen som du nyss skapade.

Information om hur du kör din pipeline i en container finns i Containerjobb.

Mer information om hur du skapar GitHub-lagringsplatser finns i Skapa GitHub-lagringsplatser.

Information om hur du publicerar pipelineartefakter finns i Publicera pipelineartefakter.

Mer information om vad du kan göra i YAML-pipelines finns i YAML-schemareferens.

Rensa

Om du har skapat några testpipelines är de enkla att ta bort när du är klar med dem.

Om du vill ta bort en pipeline går du till sammanfattningssidan för pipelinen och väljer Ta bort från menyn ... längst upp till höger på sidan. Skriv namnet på pipelinen för att bekräfta och välj Ta bort.

Ta bort pipeline

Du har lärt dig grunderna i att skapa och köra en pipeline. Nu är du redo att konfigurera bygg-pipelinen för det programmeringsspråk som du använder. Skapa en ny bygg-pipeline och använd någon av följande mallar den här gången.

Språk Mall som ska användas
.NET ASP.NET
.NET Core ASP.NET Core
C++ .NET-skrivbord
Kör Kör
Java Gradle
JavaScript Node.js
Xcode Xcode

Vanliga frågor

Var kan jag läsa artiklar om DevOps och CI/CD?

Vad är kontinuerlig integrering?

Vad är kontinuerlig leverans?

Vad är DevOps?

Vilket versionskontrollsystem kan jag använda?

När du är redo att komma igång med CI/CD för din app kan du använda det versionskontrollsystem du väljer:

Hur gör jag för att replikera en pipeline?

Om din pipeline har ett mönster som du vill replikera i andra pipelines klonar du den, exporterar den eller sparar den som en mall.

all-definitions-build-action-menu-replicate-actions

När du har klonade en pipeline kan du göra ändringar och sedan spara den.

När du har exporterat en pipeline kan du importera den från fliken Alla pipelines .

När du har skapat en mall kan dina teammedlemmar använda den för att följa mönstret i nya pipelines.

Dricks

Om du använder Redigeraren för ny version visas dina anpassade mallar längst ned i listan.

Hur gör jag för att arbeta med utkast?

Om du redigerar en bygg-pipeline och vill testa några ändringar som ännu inte är klara för produktion kan du spara den som ett utkast.

spara som utkast

Du kan redigera och testa ditt utkast efter behov.

redigera utkast – DevOps 2019 och 2020

När du är klar kan du publicera utkastet för att sammanfoga ändringarna i bygg-pipelinen.

publicera utkast – DevOps 2019 och 2020

Om du väljer att ta bort utkastet kan du ta bort det från fliken All Pipeline som visas ovan.

Hur tar jag bort en pipeline?

Om du vill ta bort en pipeline går du till sammanfattningssidan för pipelinen och väljer Ta bort från menyn ... längst upp till höger på sidan. Skriv namnet på pipelinen för att bekräfta och välj Ta bort.

Vad mer kan jag göra när jag köar ett bygge?

Du kan köa byggen automatiskt eller manuellt.

När du köar en version manuellt kan du för en enda körning av bygget:

Du kan köa byggen automatiskt eller manuellt.

När du köar en version manuellt kan du för en enda körning av bygget:

Var kan jag lära mig mer om pipelineinställningar?

Mer information om pipelineinställningar finns i:

Hur gör jag för att skapa en byggpipeline programmatiskt?

REST API-referens: Skapa en bygg-pipeline

Kommentar

Du kan också hantera byggen och skapa pipelines från kommandoraden eller skripten med hjälp av Azure Pipelines CLI.