Quickstart: Een GitHub-werkstroom voor buildvalidatie maken
In deze quickstart leert u hoe u een GitHub-werkstroom maakt om de compilatie van uw .NET-broncode in GitHub te valideren. Het compileren van uw .NET-code is een van de meest eenvoudige validatiestappen die u kunt uitvoeren om ervoor te zorgen dat de kwaliteit van updates voor uw code wordt gegarandeerd. Als code niet wordt gecompileerd (of gebouwd), is het een eenvoudig afschrikmiddel en moet het een duidelijk teken zijn dat de code moet worden opgelost.
Vereisten
- Een GitHub-account.
- Een .NET-broncodeopslagplaats.
Een werkstroombestand maken
Voeg in de GitHub-opslagplaats een nieuw YAML-bestand toe aan de map .github/workflows . Kies een betekenisvolle bestandsnaam, iets dat duidelijk aangeeft wat de werkstroom moet doen. Zie Werkstroombestand voor meer informatie.
Belangrijk
GitHub vereist dat werkstroomsamenstellingsbestanden in de map .github/workflows worden geplaatst.
Werkstroombestanden definiëren doorgaans een samenstelling van een of meer GitHub Action via de jobs.<job_id>/steps[*]
. Zie de werkstroomsyntaxis voor GitHub Actions voor meer informatie.
Maak een nieuw bestand met de naam build-validation.yml, kopieer en plak de volgende YML-inhoud erin:
name: build
on:
push:
pull_request:
branches: [ main ]
paths:
- '**.cs'
- '**.csproj'
env:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
build:
name: build-${{matrix.os}}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
- name: Setup .NET Core
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
In de voorgaande werkstroomsamenstelling:
De
name: build
naam wordt gedefinieerd, 'build' wordt weergegeven in werkstroomstatusbadges.name: build
Het
on
knooppunt geeft de gebeurtenissen aan die de werkstroom activeren:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'
- Geactiveerd wanneer een
push
ofpull_request
optreedt in demain
vertakking waar bestanden zijn gewijzigd die eindigen op de bestandsextensies .cs of .csproj .
- Geactiveerd wanneer een
Het
env
knooppunt definieert benoemde omgevingsvariabelen (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
- De omgevingsvariabele
DOTNET_VERSION
wordt de waarde'6.0.401'
toegewezen. Er wordt later naar de omgevingsvariabele verwezen om dedotnet-version
actions/setup-dotnet@v3
GitHub Action op te geven.
- De omgevingsvariabele
Het
jobs
knooppunt bouwt de stappen uit die de werkstroom moet uitvoeren.jobs: build: name: build-${{matrix.os}} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v3 - name: Setup .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: Install dependencies run: dotnet restore - name: Build run: dotnet build --configuration Release --no-restore
Er is één taak, met de naam
build-<os>
van het<os>
besturingssysteem van destrategy/matrix
. Dename
elementen zijnruns-on
dynamisch voor elke waarde in dematrix/os
. Dit wordt uitgevoerd op de nieuwste versies van Ubuntu, Windows en macOS.De
actions/setup-dotnet@v3
GitHub Action is vereist om de .NET SDK in te stellen met de opgegeven versie van deDOTNET_VERSION
omgevingsvariabele.(Optioneel) Er zijn mogelijk extra stappen vereist, afhankelijk van uw .NET-workload. Ze worden weggelaten uit dit voorbeeld, maar mogelijk hebt u extra hulpprogramma's nodig om uw apps te bouwen.
- Wanneer u bijvoorbeeld een ASP.NET Core Blazor WebAssembly-toepassing bouwt met AoT-compilatie (Ahead-of-Time), installeert u de bijbehorende workload voordat u herstel-/build-/publicatiebewerkingen uitvoert.
- name: Install WASM Tools Workload run: dotnet workload install wasm-tools
Zie voor meer informatie over .NET-workloads
dotnet workload install
.De
dotnet restore
opdracht wordt aangeroepen.De
dotnet build
opdracht wordt aangeroepen.
In dit geval kunt u een werkstroombestand beschouwen als een samenstelling die de verschillende stappen vertegenwoordigt voor het bouwen van een toepassing. Veel .NET CLI-opdrachten zijn beschikbaar, waarvan de meeste kunnen worden gebruikt in de context van een GitHub Action.
Badge Een werkstroomstatus maken
Het is gebruikelijk dat GitHub-opslagplaatsen een README.md bestand hebben in de hoofdmap van de opslagplaatsmap. Op dezelfde manier is het handig om de meest recente status voor verschillende werkstromen te rapporteren. Alle werkstromen kunnen een statusbadge genereren, die visueel aantrekkelijk zijn in het README.md-bestand . De badge Werkstroomstatus toevoegen:
Selecteer in de GitHub-opslagplaats de optie Actiesnavigatie .
Alle werkstromen van de opslagplaats worden aan de linkerkant weergegeven, selecteer de gewenste werkstroom en de knop met het beletselteken (...).
- Met de knop met het beletselteken (...) worden de menuopties voor de geselecteerde werkstroom uitgevouwen.
Selecteer de menuoptie Statusbadge maken.
Selecteer de markdown-knop Status kopiëren.
Plak de Markdown in het README.md bestand, sla het bestand op, voer de wijzigingen door en push deze.
Zie De badge Een werkstroomstatus toevoegen voor meer informatie.
Badge Voorbeeld van buildwerkstroomstatus
Geslaagd | Mislukt | Geen status |
---|---|---|