Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Gebruik een Azure Pipeline om uw .NET Core-projecten automatisch te bouwen, testen en implementeren. In dit artikel leest u hoe u de volgende taken uitvoert:
Een mogelijkheid om pijplijnen uit te voeren op door Microsoft gehoste agents. U kunt een parallelle taak aanschaffen of u kunt een gratis laag aanvragen.
Een mogelijkheid om pijplijnen uit te voeren op een zelf-hostende agent waarop Docker is geïnstalleerd en uitgevoerd op de host van de agent.
Uw eerste pijplijn maken
Bent u nieuw voor Azure Pipelines? Zo ja, dan raden we u aan eerst de volgende sectie uit te voeren.
Een .NET-project maken
Als u geen .NET-project hebt om mee te werken, maakt u een nieuw project op uw lokale systeem. Begin met het installeren van de nieuwste .NET 8.0 SDK .
Een terminalvenster openen.
Maak een projectmap en navigeer ernaartoe.
Maak een nieuwe .NET 8-web-app.
dotnet new webapp -f net8.0
Voer vanuit dezelfde terminalsessie de toepassing lokaal uit met behulp van de dotnet run opdracht uit uw projectmap.
dotnet run
Zodra de toepassing is gestart, drukt u op Ctrl-C om de toepassing af te sluiten.
Een Git-opslagplaats maken en deze verbinden met GitHub
Meld u aan bij Azure Pipelines. Nadat u zich hebt aangemeld, gaat uw browser naar https://dev.azure.com/my-organization-name en geeft u uw Azure DevOps-dashboard weer.
Maak een nieuw project door Nieuw project of Project maken te selecteren als u het eerste project in de organisatie maakt.
Voer een projectnaam in.
Selecteer de zichtbaarheid voor uw project.
Selecteer Maken.
Ga in een browser naar uw Azure DevOps-server.
Selecteer uw verzameling.
Maak een nieuw project door Nieuw project of Project maken te selecteren als u het eerste project in de verzameling maakt.
Voer een projectnaam in.
Selecteer de zichtbaarheid voor uw project.
Selecteer Maken.
Meld u in een browservenster aan bij uw Azure DevOps Server en selecteer uw verzameling.
Selecteer Nieuw project.
Typ een naam van het project.
Voer desgewenst een beschrijving in.
Selecteer Maken.
Uw buildomgeving instellen
Uw builds worden uitgevoerd op zelf-hostende agents. Zorg ervoor dat u de benodigde versie van de .NET Core SDK en runtime op de agents hebt geïnstalleerd. U kunt uw .NET Core-projecten bouwen met behulp van de .NET Core SDK en runtime in Windows, Linux, macOS en Docker.
U kunt een specifieke versie van .NET SDK installeren door de UseDotNet@2 taak toe te voegen in het YAML-bestand van de pijplijn of door de taak toe te voegen aan uw pijplijn met behulp van de klassieke editor.
Voorbeeld van YAML-fragment:
steps:
- task: UseDotNet@2
inputs:
version: '8.x'
Uw builds worden uitgevoerd op door Microsoft gehoste agents. U kunt uw .NET Core-projecten bouwen met behulp van de .NET Core SDK en runtime in Windows, Linux en macOS.
U kunt ook een zelf-hostende agent gebruiken. Met een zelf-hostende agent kunt u preview- of privé-SDK's gebruiken die niet officieel worden ondersteund door Azure DevOps Services en incrementele builds uitvoeren.
Uw pijplijn maken
U kunt de YAML-pijplijneditor of de klassieke editor gebruiken om uw pijplijn te maken. Als u de klassieke editor wilt gebruiken, selecteert u De klassieke editor gebruiken.
Meld u aan bij uw Azure DevOps-organisatie en ga naar uw project.
Ga naar Pijplijnen en selecteer vervolgens Nieuwe pijplijn of Pijplijn maken als u uw eerste pijplijn maakt.
Voer de stappen van de wizard uit door eerst GitHub te selecteren als de locatie van uw broncode.
U wordt mogelijk omgeleid naar GitHub om u aan te melden. Voer in dat geval uw GitHub-referenties in.
Wanneer u de lijst met opslagplaatsen ziet, selecteert u de opslagplaats.
U wordt mogelijk omgeleid naar GitHub om de Azure Pipelines-app te installeren. Als dat het zo is, selecteert u Goedkeuren en installeren.
Uw pijplijn configureren
Wanneer het tabblad Configureren wordt weergegeven, selecteert u Meer weergeven en selecteert u de ASP.NET Core-pijplijnsjabloon in de lijst.
Bekijk uw nieuwe pijplijn om te zien wat de YAML doet.
U kunt het YAML-bestand aanpassen aan uw vereisten. U kunt bijvoorbeeld de agentgroep opgeven of een taak toevoegen om een andere .NET SDK te installeren.
Uw pijplijn opslaan en uitvoeren
Wanneer u klaar bent, selecteert u Opslaan en uitvoeren.
Desgewenst kunt u het doorvoerbericht bewerken.
Voer het nieuwe azure-pipelines.yml-bestand door naar uw opslagplaats door Opslaan en uitvoeren te selecteren.
Als u de pijplijn in actie wilt bekijken, selecteert u de taak in de sectie Taken .
Uw pijplijn maken en uitvoeren
U kunt een pijplijn maken met behulp van de YAML-pijplijneditor of de klassieke editor.
Ga naar uw project en selecteer Pijplijnen.
Selecteer Pijplijn of Nieuwe pijplijn maken als u de eerste pijplijn voor dit project maakt.
Selecteer uw bron
Selecteer de bronopslagplaats. Gebruik voor dit voorbeeld GitHub Enterprise Server.
Voer de URL voor uw GitHub-account in. Bijvoorbeeld: https://github.com/<username>.
Voer uw persoonlijke toegangstoken in voor uw GitHub-account.
Voer een serviceverbindingsnaam in. Bijvoorbeeld: my-github.
Bekijk uw nieuwe pijplijn om te zien wat de YAML doet.
U kunt het YAML-bestand aanpassen aan uw vereisten. U kunt bijvoorbeeld taken toevoegen om een .NET SDK te installeren of uw project te testen en te publiceren.
Uw pijplijn opslaan en uitvoeren
Selecteer Opslaan.
Als u het YAML-pijplijnbestand wilt doorvoeren in uw opslagplaats, bewerkt u het doorvoerbericht indien nodig en selecteert u Opslaan.
Selecteer Uitvoeren om uw pijplijn uit te voeren.
Als u de buildlogboeken wilt zien terwijl uw pijplijn wordt uitgevoerd, selecteert u het buildnummer boven aan de pagina.
Selecteer Opslaan en uitvoeren.
Als u het nieuwe azure-pipelines.yml-bestand naar uw opslagplaats wilt doorvoeren, bewerkt u het doorvoerbericht indien nodig en selecteert u Opslaan en uitvoeren.
Als u de pijplijn in actie wilt bekijken, selecteert u de taak in de sectie Taken .
Gebruik deze stappen om uw pijplijn te maken met behulp van de klassieke editor.
Pijplijn maken
Ga naar uw project en selecteer Pijplijnen.
Selecteer Pijplijn of Nieuwe pijplijn maken als u de eerste pijplijn voor dit project niet maakt.
Selecteer De klassieke editor gebruiken.
Selecteer uw bron
Selecteer uw bron. Voor dit voorbeeld selecteert u GitHub Enterprise Server.
Selecteer Verbinding maken met GitHub Enterprise Server.
Voer uw GitHub-referenties in om een GitHub-serviceverbinding te maken voor gebruik in uw pijplijn.
Selecteer uw opslagplaats en selecteer Doorgaan.
Selecteer uw bron
Selecteer uw bron. Voor dit voorbeeld selecteert u GitHub.
Voer uw GitHub-referenties in om een GitHub-serviceverbinding te maken voor gebruik in uw pijplijn.
Selecteer uw opslagplaats en selecteer Doorgaan.
Uw pijplijn configureren
Zoek en selecteer ASP.NET Core in Een sjabloon selecteren.
De pijplijnpagina wordt geopend waar u uw pijplijn kunt configureren. Hier kunt u taken toevoegen, de agentgroepen en agents opgeven en andere buildopties configureren.
Selecteer uw agentgroep op het tabblad Taken (meestal standaard)
Selecteer de agentspecificatie. Voor dit voorbeeld selecteert u windows-latest.
U kunt andere taken toevoegen aan de agenttaak door de agenttaak te selecteren + en een andere taak in de catalogus te selecteren. U kunt bijvoorbeeld de taak .NET Core gebruiken toevoegen als eerste taak om de benodigde versie van de .NET SDK te installeren.
Uw pijplijn opslaan en uitvoeren
Selecteer Opslaan en wachtrij in de vervolgkeuzelijst Opslaan en wachtrij boven aan de pagina.
Voer in De pijplijn Uitvoeren een opmerking in en selecteer Opslaan en Uitvoeren.
U kunt uw pijplijn in actie zien door de taak te selecteren in de sectie Taken op het tabblad Samenvatting .
Selecteer Opslaan en wachtrij in de vervolgkeuzelijst Opslaan en wachtrij.
Selecteer Opslaan en wachtrij in het dialoogvenster Build-pijplijn en wachtrij opslaan.
Wanneer het bericht Build #nnnnnnnn.n in de wachtrij staat, selecteert u de koppeling om uw pijplijn in actie te zien.
Selecteer Opslaan en wachtrij in de vervolgkeuzelijst Opslaan en wachtrij boven aan de pagina.
Voeg in het dialoogvenster Pijplijn uitvoeren een opmerking Opslaan toe en selecteer Opslaan en uitvoeren.
U kunt uw pijplijn in actie zien door de taak te selecteren in de sectie Taken op het tabblad Samenvatting .
U hebt nu een werkende pijplijn die u kunt aanpassen. Lees verder voor meer informatie over enkele veelgebruikte manieren om uw pijplijn aan te passen.
Omgeving bouwen
Azure Pipelines maakt gebruik van zelf-hostende agents om uw .NET Core-projecten te bouwen. Zorg ervoor dat u de benodigde versie van de .NET Core SDK en runtime op de agents hebt geïnstalleerd. U kunt uw .NET Core-projecten bouwen met behulp van de .NET Core SDK en runtime in Windows, Linux, macOS en Docker.
Als u bijvoorbeeld een pool- en agentmogelijkheden in het YAML-pijplijnbestand wilt selecteren:
U kunt de agentpool en agent voor uw buildtaak selecteren. Agents worden opgegeven op basis van hun mogelijkheden.
U kunt een specifieke versie van .NET SDK installeren door de UseDotNet@2 taak toe te voegen in uw pijplijn. Houd er rekening mee dat voor agents die worden uitgevoerd op fysieke systemen, het installeren van SDK's en hulpprogramma's via uw pijplijn de buildomgeving op de host van de agent wijzigt.
Als u een nieuwere SDK wilt installeren, stelt u deze in performMultiLevelLookuptrue het volgende fragment in:
U kunt Azure Pipelines gebruiken om uw .NET Core-projecten te bouwen in Windows, Linux of macOS zonder dat u infrastructuur hoeft in te stellen.
Ubuntu is bijvoorbeeld hier ingesteld in het YAML-pijplijnbestand.
pool:
vmImage: 'ubuntu-latest'
Zie door Microsoft gehoste agents voor een volledige lijst met installatiekopieën en verdere configuratievoorbeelden.
De door Microsoft gehoste agents in Azure Pipelines bevatten verschillende vooraf geïnstalleerde versies van ondersteunde .NET Core SDK's. Door Microsoft gehoste agents bevatten geen enkele van de oudere versies van de .NET Core SDK. Ze bevatten doorgaans ook geen voorlopige versies. Als u deze versies van de SDK op door Microsoft gehoste agents nodig hebt, installeert u deze met behulp van de UseDotNet@2 taak.
Als u bijvoorbeeld 5.0.x SDK wilt installeren, voegt u het volgende codefragment toe:
steps:
- task: UseDotNet@2
inputs:
version: '5.x'
Windows-agents bevatten al een .NET Core-runtime. Als u een nieuwere SDK wilt installeren, stelt u deze in performMultiLevelLookuptrue het volgende fragment in:
Als u de kosten voor het uitvoeren van het installatieprogramma voor het hulpprogramma wilt besparen, kunt u een zelf-hostende Linux-, macOS- of Windows-agentinstellen.
U kunt ook zelf-hostende agents gebruiken om extra tijd te besparen als u een grote opslagplaats hebt of incrementele builds uitvoert. Een zelf-hostende agent kan u ook helpen bij het gebruik van de preview- of privé-SDK's die niet officieel worden ondersteund door Azure DevOps of die alleen beschikbaar zijn in uw bedrijfs- of on-premises omgevingen.
Afhankelijkheden herstellen
NuGet is een populaire manier om afhankelijk te zijn van code die u niet bouwt. U kunt NuGet-pakketten en projectspecifieke hulpprogramma's downloaden die zijn opgegeven in het projectbestand door de dotnet restore opdracht uit te voeren via de .NET Core-taak of rechtstreeks in een script in uw pijplijn. Zie .NET Core-taak (DotNetCoreCLI@2) voor meer informatie.
U kunt NuGet-pakketten downloaden uit Azure Artifacts, NuGet.org of een andere externe of interne NuGet-opslagplaats. De .NET Core-taak is vooral handig om pakketten te herstellen van geverifieerde NuGet-feeds. Als uw feed zich in hetzelfde project bevindt als uw pijplijn, hoeft u zich niet te verifiëren.
Deze pijplijn maakt gebruik van een Azure Artifact-feed voor dotnet restore in de DotNetCoreCLI@2 taak.
De dotnet restore opdracht maakt gebruik van de NuGet.exe verpakte met de .NET Core SDK en kan alleen pakketten herstellen die zijn opgegeven in de .NET Core-projectbestanden .csproj .
Als u ook een Microsoft .NET Framework-project in uw oplossing hebt of gebruikt package.json om uw afhankelijkheden op te geven, gebruikt u de NuGet-taak om deze afhankelijkheden te herstellen.
In .NET Core SDK versie 2.0 en hoger worden pakketten automatisch hersteld bij het uitvoeren van opdrachten zoals dotnet build. U moet echter nog steeds de .NET Core-taak gebruiken om pakketten te herstellen als u een geverifieerde feed gebruikt.
Als u een NuGet-opslagplaats wilt opgeven, plaatst u de URL in een NuGet.config bestand in uw opslagplaats. Als uw feed is geverifieerd, beheert u de referenties door een NuGet-serviceverbinding te maken op het tabblad Services onder Projectinstellingen.
Wanneer u door Microsoft gehoste agents gebruikt, krijgt u elke keer dat u een build uitvoert een nieuwe machine, waarmee de pakketten bij elke uitvoering worden hersteld. Herstel kan een aanzienlijke hoeveelheid tijd in beslag nemen. Om dit te verhelpen, kunt u Azure Artifacts of een zelf-hostende agent gebruiken met het voordeel van het gebruik van de pakketcache.
U kunt de herstelopdracht toevoegen aan uw pijplijn met behulp van de YAML-pijplijneditor door het volgende fragment rechtstreeks in uw azure-pipelines.yml bestand in te voegen of door de taakassistent te gebruiken om de .NET Core-taak toe te voegen.
# do this before your build tasks
steps:
- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: '**/*.csproj'
feedsToUse: config
nugetConfigPath: NuGet.config # Relative to root of the repository
externalFeedCredentials: <Name of the NuGet service connection>
Vervang de tijdelijke aanduiding< door de >naam van de serviceverbinding.
De taakassistent gebruiken:
Als u een build-taak wilt toevoegen met behulp van de taakassistent, voert u de volgende stappen uit:
Ga naar de positie in het YAML-bestand waar u de taak wilt invoegen.
Selecteer .NET Core in de taakcatalogus.
Selecteer de opdracht Herstellen in de vervolgkeuzelijst Opdracht .
Voer in het veld Pad naar project(en) het pad naar uw .csproj bestanden in.
Selecteer Toevoegen.
Selecteer Opslaan om de wijziging door te voeren.
Gebruik deze stappen om een hersteltaak toe te voegen met behulp van de klassieke editor:
Selecteer Taken in uw pijplijn en selecteer de taak waarmee uw buildtaken worden uitgevoerd.
Selecteer + deze optie om een nieuwe taak aan die taak toe te voegen.
Zoek en selecteer in de taakcatalogus .NET Core-taak en selecteer Toevoegen.
Selecteer de taak om de taakeditor te openen.
Selecteer herstellen in de opdrachtlijst en geef eventuele andere opties op die u nodig hebt voor deze taak.
Sleep de taak in de takenlijst om deze vóór de build-taak te plaatsen.
Selecteer in de vervolgkeuzelijst Opslaan en wachtrij een optie om de wijziging op te slaan.
Notitie
Zorg ervoor dat de aangepaste feed is opgegeven in uw NuGet.config bestand en dat referenties zijn opgegeven in de NuGet-serviceverbinding.
Uw project bouwen
Bouw uw .NET Core-projecten door de opdracht uit te dotnet build voeren. U kunt de opdracht als opdrachtregelscript aan uw pijplijn toevoegen of met behulp van de .NET Core-taak.
.NET Core-build met behulp van de .NET Core-taak
YAML-voorbeeld om te bouwen met behulp van de DotNetCoreCLI@2 taak:
steps:
- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration)' # Update this to match your needs
U kunt een build-taak toevoegen met behulp van de YAML-pijplijneditor door het bestand rechtstreeks te bewerken of de .NET Core-taak toe te voegen met behulp van de taakassistent.
Als u een build-taak wilt toevoegen met behulp van de taakassistent, voert u de volgende stappen uit:
Ga naar de positie in het YAML-bestand waar u de taak wilt invoegen.
Selecteer .NET Core in de taakcatalogus.
Selecteer de build-opdracht in de vervolgkeuzelijst Opdracht .
Voer in het veld Pad naar project(en) het pad naar uw .csproj bestanden in.
Selecteer Toevoegen.
Selecteer Opslaan om de wijziging door te voeren.
Als u een build-taak wilt toevoegen met de klassieke editor, voert u de volgende stappen uit:
Selecteer Taken in uw pijplijn.
Selecteer de taak waarmee uw buildtaken worden uitgevoerd.
Selecteer + deze optie om een nieuwe taak aan die taak toe te voegen.
Zoek en voeg in de taakcatalogus de .NET Core-taak toe.
Selecteer de taak en selecteer build in de vervolgkeuzelijst Opdracht .
Voer in het veld Pad naar project(en) het pad naar uw .csproj bestanden in.
Sleep de taak om deze in de juiste takenreeks in de pijplijn te plaatsen.
Selecteer de vervolgkeuzelijst Opslaan en wachtrij en selecteer een optie om uw wijzigingen op te slaan.
.NET Core-build met opdrachtregelscript
YAML-voorbeeld om te bouwen met behulp van dotnet build een script:
U kunt een build-taak toevoegen met behulp van de YAML-pijplijneditor door het bestand rechtstreeks te bewerken of de opdrachtregeltaak toe te voegen.
Gebruik de volgende stappen om de opdrachtregeltaak toe te voegen:
Ga naar de positie in het YAML-bestand waar u de taak wilt invoegen.
Selecteer de opdrachtregel in de taakcatalogus.
Voeg eventueel een weergavenaam toe.
Voer de dotnet build opdracht in met parameters. Bijvoorbeeld: dotnet build --configuration $(buildConfiguration).
Voer het pad naar het .csproj bestand in als de werkmap.
Selecteer Toevoegen.
Selecteer Opslaan om de wijziging door te voeren.
Als u een build-taak wilt toevoegen met de klassieke editor, voert u de volgende stappen uit:
Selecteer Taken in uw pijplijn.
Selecteer de taak waarmee uw buildtaken worden uitgevoerd.
Selecteer + deze optie om een nieuwe taak aan die taak toe te voegen.
Zoek en voeg de opdrachtregeltaak toe aan de taak in de taakcatalogus.
Voeg eventueel een weergavenaam toe.
Voer de dotnet build opdracht in met parameters. Bijvoorbeeld: dotnet build --configuration $(buildConfiguration).
Voer het pad naar het .csproj bestand in als de werkmap.
Sleep de taak om deze in de juiste takenreeks in de pijplijn te plaatsen.
Selecteer de vervolgkeuzelijst Opslaan en wachtrij en selecteer een optie om uw wijzigingen op te slaan.
.NET SDK-opdrachten toevoegen aan uw pijplijn
U kunt .NET SDK-opdrachten toevoegen aan uw project als script of met behulp van de .NET Core-taak. Met de taak .NET Core (DotNetCoreCLI@2) kunt u eenvoudig dotnet CLI-opdrachten toevoegen aan uw pijplijn. U kunt .NET Core-taken toevoegen door uw YAML-bestand te bewerken of de klassieke editor te gebruiken.
Een .NET CLI-opdracht toevoegen met behulp van de .NET Core-taak
Als u een .NET Core CLI-opdracht wilt toevoegen met behulp van de YAML-pijplijneditor, voert u de volgende stappen uit:
Ga naar de positie in het YAML-bestand waar u de taak wilt invoegen.
Selecteer .NET Core in de taakcatalogus.
Selecteer de opdracht die u wilt uitvoeren.
Configureer alle benodigde opties.
Selecteer Toevoegen.
Selecteer Opslaan om de wijziging door te voeren.
Als u .NET Core-taak wilt toevoegen met de klassieke editor, voert u de volgende stappen uit:
Selecteer Taken in uw pijplijn.
Selecteer de taak waarmee uw buildtaken worden uitgevoerd.
Selecteer + deze optie om een nieuwe taak aan die taak toe te voegen.
Zoek en voeg in de taakcatalogus de .NET Core-taak toe.
Selecteer de taak en selecteer de opdracht die u wilt uitvoeren.
Configureer alle benodigde opties.
Sleep de taak om deze in de juiste takenreeks in de pijplijn te plaatsen.
Selecteer in de vervolgkeuzelijst Opslaan en wachtrij een optie om uw wijzigingen op te slaan.
Een .NET Core CLI-opdracht toevoegen met behulp van een script
U kunt .NET Core CLI-opdrachten toevoegen als een script in uw azure-pipelines.yml bestand.
Voorbeeld:
steps:
# ...
- script: dotnet test <test-project>
Een hulpprogramma installeren
Als u een algemeen .NET Core-hulpprogramma zoals dotnetsay wilt installeren in uw build die wordt uitgevoerd in Windows, voert u de volgende stappen uit:
Voeg de .NET Core-taak toe en stel de volgende eigenschappen in:
Opdracht: aangepast.
Pad naar projecten: laat leeg.
Aangepaste opdracht: hulpprogramma.
Argumenten: install -g dotnetsay.
Als u het hulpprogramma wilt uitvoeren, voegt u een opdrachtregel toe en stelt u de volgende eigenschappen in:
Script:dotnetsay.
Uw tests uitvoeren
Wanneer u projecten in uw opslagplaats hebt getest, kunt u de .NET Core-taak gebruiken om eenheidstests uit te voeren met behulp van testframeworks zoals MSTest, xUnit en NUnit. Het testproject moet verwijzen naar Microsoft.NET.Test.SDK versie 15.8.0 of hoger.
Testresultaten worden automatisch gepubliceerd naar de service. Deze resultaten zijn beschikbaar in de samenvatting van de build en kunnen worden gebruikt voor het oplossen van problemen met mislukte tests en testtime-analyse.
U kunt een testtaak aan uw pijplijn toevoegen met behulp van de DotNetCoreCLI@2 taak of het volgende fragment toevoegen aan uw azure-pipelines.yml bestand:
steps:
# ...
# do this after other tasks such as building
- task: DotNetCoreCLI@2
inputs:
command: test
projects: '**/*Tests/*.csproj'
arguments: '--configuration $(buildConfiguration)'
Wanneer u de .NET Core-taakeditor gebruikt, stelt u De opdracht in om te testen en moet het pad naar projecten verwijzen naar de testprojecten in uw oplossing.
U kunt de dotnet test opdracht ook uitvoeren met een specifieke logger en vervolgens de taak Testresultaten publiceren gebruiken:
steps:
# ...
# do this after your tests have run
- script: dotnet test <test-project> --logger trx
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testRunner: VSTest
testResultsFiles: '**/*.trx'
Codedekking verzamelen
Wanneer u bouwt op het Windows-platform, kunnen metrische gegevens over de codedekking worden verzameld met behulp van de ingebouwde gegevensverzamelaar voor dekkingsgegevens. Het testproject moet verwijzen naar Microsoft.NET.Test.SDK versie 15.8.0 of hoger.
Wanneer u de .NET Core-taak gebruikt om tests uit te voeren, worden dekkingsgegevens automatisch naar de server gepubliceerd. Het .coverage bestand kan worden gedownload uit de samenvatting van de build voor weergave in Visual Studio.
Voeg het volgende fragment toe aan uw azure-pipelines.yml bestand:
steps:
# ...
# do this after other tasks such as building
- task: DotNetCoreCLI@2
inputs:
command: test
projects: '**/*Tests/*.csproj'
arguments: '--configuration $(buildConfiguration) --collect "Code Coverage"'
De .NET Core-taak toevoegen via de taakeditor:
Voeg de .NET Core-taak toe aan uw buildtaak en stel de volgende eigenschappen in:
Opdracht: testen.
Pad naar projecten: Moet verwijzen naar de testprojecten in uw oplossing.
Zorg ervoor dat de optie Testresultaten publiceren geselecteerd blijft.
Als u ervoor kiest om de dotnet test opdracht uit te voeren, geeft u de logboekregistratie en dekkingsopties voor de testresultaten op. Gebruik vervolgens de taak Testresultaten publiceren:
steps:
# ...
# do this after your tests have run
- script: dotnet test <test-project> --logger trx --collect "Code Coverage"
- task: PublishTestResults@2
inputs:
testRunner: VSTest
testResultsFiles: '**/*.trx'
Metrische gegevens voor codedekking verzamelen met Coverlet
U kunt de resultaten van de codedekking naar de server publiceren met de taak Code Coverage Resultaten publiceren (PublishCodeCoverageResults@2). Het dekkingsprogramma moet worden geconfigureerd om resultaten te genereren in cobertura- of JaCoCo-dekkingsindeling.
Voer de volgende taken uit om tests uit te voeren en codedekking te publiceren met Coverlet:
Voeg een verwijzing toe naar het coverlet.collector NuGet-pakket.
Voeg het volgende fragment toe aan uw azure-pipelines.yml bestand:
Voeg het volgende fragment toe aan uw azure-pipelines.yml bestand:
steps:
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
# this code takes all the files in $(Build.ArtifactStagingDirectory) and uploads them as an artifact of your build.
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: 'myWebsite'
Notitie
De DotNetCoreCLI@2-taak heeft standaard een publishWebProjects invoer die is ingesteld op waar . Met deze taak worden standaard alle webprojecten in uw opslagplaats gepubliceerd. Meer hulp en informatie vindt u in de opensource-taak op GitHub.
Voeg het volgende codefragment toe aan uw azure-pipelines.yml bestand om uw buildartefacten als een .zip-bestand te publiceren:
steps:
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
# this code takes all the files in $(Build.ArtifactStagingDirectory) and uploads them as an artifact of your build.
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
Zie Build-artefacten publiceren en downloaden voor meer informatie.
Publiceren naar een NuGet-feed
Als u een NuGet-pakket wilt maken en naar uw NuGet-feed wilt publiceren, voegt u het volgende codefragment toe:
steps:
# ...
# do this near the end of your pipeline in most cases
- script: dotnet pack /p:PackageVersion=$(version) # define version variable elsewhere in your pipeline
- task: NuGetAuthenticate@1
inputs:
nuGetServiceConnections: '<Name of the NuGet service connection>'
- task: NuGetCommand@2
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: '<Name of the NuGet service connection>'
versioningScheme: byEnvVar
versionEnvVar: version
Notitie
De NuGetAuthenticate@1-taak biedt geen ondersteuning voor Verificatie van NuGet-API-sleutels. Als u een NuGet-API-sleutel gebruikt, gebruikt u de NuGetCommand@2 taak met de command invoer die is ingesteld push op het argument --api-key . Bijvoorbeeld: dotnet nuget push --api-key $(NuGetApiKey).
Als u een .zip bestandsarchief wilt maken dat klaar is om te publiceren naar een web-app, voegt u het volgende fragment toe:
steps:
# ...
# do this after you've built your app, near the end of your pipeline in most cases
# for example, you do this before you deploy to an Azure web app on Windows
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
Als u dit archief wilt publiceren naar een web-app, raadpleegt u de implementatie van Azure Web Apps.
Een installatiekopieën bouwen en pushen naar het containerregister
Als u uw project op uw ontwikkelcomputer kunt bouwen, maar u problemen ondervindt met het bouwen ervan in Azure Pipelines, bekijkt u de volgende mogelijke oorzaken en corrigerende acties:
Voorlopige versies van de .NET Core SDK worden niet geïnstalleerd op door Microsoft gehoste agents. Nadat een nieuwe versie van de .NET Core SDK is uitgebracht, kan het enkele weken duren voordat deze wordt geïmplementeerd in alle Azure Pipelines-datacenters. U hoeft niet te wachten tot deze implementatie is voltooid. U kunt de .NET Core-taak gebruiken om de .NET Core SDK-versie te installeren die u wilt gebruiken op door Microsoft gehoste agents.
Controleer de .NET Core SDK-versies en -runtime op uw ontwikkelcomputer en zorg ervoor dat deze overeenkomen met de agent. U kunt een opdrachtregelscript dotnet --version in uw pijplijn opnemen om de versie van de .NET Core SDK af te drukken. Gebruik het .NET Core Tool Installer om dezelfde versie op de agent te implementeren of werk uw projecten en ontwikkelcomputer bij naar de nieuwere versie van de .NET Core SDK.
Mogelijk gebruikt u een aantal logica in de Visual Studio IDE die niet in uw pijplijn is gecodeerd.
Azure Pipelines voert elk van de opdrachten uit die u opgeeft in de taken na de andere in een nieuw proces.
Bekijk de logboeken van de pijplijnbuild om de exacte opdrachten te zien die zijn uitgevoerd als onderdeel van de build.
Herhaal dezelfde opdrachten in dezelfde volgorde op uw ontwikkelcomputer om het probleem op te sporen.
Als u een gemengde oplossing hebt met enkele .NET Core-projecten en sommige .NET Framework-projecten, moet u ook de NuGet-taak gebruiken om pakketten te herstellen die zijn opgegeven in packages.config bestanden.
Voeg de MSBuild - of Visual Studio Build-taak toe om de .NET Framework-projecten te bouwen.
Uw builds kunnen af en toe mislukken tijdens het herstellen van pakketten: NuGet.org problemen ondervindt of er netwerkproblemen zijn tussen het Azure-datacenter en NuGet.org. U kunt verkennen of het gebruik van Azure Artifacts met NuGet.org als een upstream-bron de betrouwbaarheid van uw builds verbetert, omdat deze niet in onze controle staat.
Af en toe wordt een nieuwe versie van de .NET Core SDK of Visual Studio geïmplementeerd. Uw build kan worden verbroken. Een nieuwere versie of functie van het NuGet-hulpprogramma wordt bijvoorbeeld geleverd met de SDK, kan uw build verbreken. Als u dit probleem wilt isoleren, gebruikt u de taak .NET Core Tool Installer om de versie op te geven van de .NET Core SDK die in uw build wordt gebruikt.
Veelgestelde vragen
V: Waar vind ik meer informatie over Azure Artifacts?
Bouw end-to-end-oplossingen in Microsoft Azure om Azure Functions te maken, web-apps te implementeren en te beheren, oplossingen te ontwikkelen die gebruikmaken van Azure Storage en meer.
Hiermee verkrijgt u een specifieke versie van de .NET Core SDK van internet of de lokale cache en voegt u deze toe aan het PATH. Gebruik deze taak om de versie van .NET Core te wijzigen die in volgende taken wordt gebruikt. Biedt ook proxyondersteuning.
Hiermee verkrijgt u een specifieke versie van NuGet van internet of de cache van de hulpprogramma's en voegt u deze toe aan het PATH. Gebruik deze taak om de versie van NuGet te wijzigen die wordt gebruikt in de NuGet-taken.
NuGet-pakketten herstellen, inpakken of pushen of een NuGet-opdracht uitvoeren. Ondersteunt NuGet.org en geverifieerde feeds, zoals Azure Artifacts en MyGet. Gebruikt NuGet.exe en werkt met .NET Framework-apps. Gebruik voor .NET Core- en .NET Standard-apps de .NET Core-taak.