Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten får du lära dig hur du skapar ett GitHub-arbetsflöde för att testa din .NET-källkod. Att automatiskt testa din .NET-kod inom GitHub kallas kontinuerlig integrering (CI), där pull-begäranden eller ändringar i källkoden utlöser arbetsflöden. Tillsammans med att skapa källkoden säkerställer testningen att den kompilerade källkoden fungerar som författaren avsåg. Oftast fungerar enhetstester som en omedelbar feedbackloop för att säkerställa giltigheten för ändringar i källkoden.
Förutsättningar
- Ett GitHub-konto.
- En .NET-källkodslagringsplats.
Skapa en arbetsflödesfil
På GitHub-lagringsplatsen lägger du till en ny YAML-fil i katalogen .github/workflows . Välj ett meningsfullt filnamn, något som tydligt anger vad arbetsflödet är avsett att göra. Mer information finns i Arbetsflödesfil.
Viktigt!
GitHub kräver att arbetsflödets sammansättningsfiler placeras i katalogen .github/workflows .
Arbetsflödesfiler definierar vanligtvis en sammansättning av en eller flera GitHub-åtgärder via jobs.<job_id>/steps[*]. Mer information finns i Arbetsflödessyntax för GitHub Actions.
Skapa en ny fil med namnet build-and-test.yml, kopiera och klistra in följande YML-innehåll i den:
name: build and test
on:
push:
pull_request:
branches: [ main ]
paths:
- '**.cs'
- '**.csproj'
env:
DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
jobs:
build-and-test:
name: build-and-test-${{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
- name: Test
run: dotnet test --no-restore --verbosity normal
I föregående arbetsflödessammansättning:
name: build and testdefinierar namnet, och "build and test" visas i arbetsflödets statusmärken.name: build and testNoden
onanger de händelser som utlöser arbetsflödet:on: push: pull_request: branches: [ main ] paths: - '**.cs' - '**.csproj'- Utlöses när en
pushellerpull_requestinträffar på grenenmaindär alla filer som ändrats slutar med filnamnstilläggen .cs eller .csproj .
- Utlöses när en
Noden
envdefinierar namngivna miljövariabler (env var).env: DOTNET_VERSION: '6.0.401' # The .NET SDK version to use- Miljövariabeln
DOTNET_VERSIONtilldelas värdet'6.0.401'. Miljövariabeln refereras senare till för att angedotnet-versionactions/setup-dotnet@v3GitHub-åtgärden.
- Miljövariabeln
Noden
jobsskapar de steg som arbetsflödet ska utföra.jobs: build-and-test: name: build-and-test-${{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 - name: Test run: dotnet test --no-restore --verbosity normal- Det finns ett enda jobb med namnet
build-<os>där<os>är operativsystemets namn frånstrategy/matrix. Elementennameochruns-onär dynamiska för varje värde imatrix/os. Detta körs på de senaste versionerna av Ubuntu, Windows och macOS. - GitHub-åtgärden
actions/setup-dotnet@v3används för att konfigurera .NET SDK med den angivna versionen frånDOTNET_VERSIONmiljövariabeln. - Kommandot
dotnet restoreanropas. - Kommandot
dotnet buildanropas. - Kommandot
dotnet testanropas.
- Det finns ett enda jobb med namnet
Skapa ett statusmärke för arbetsflödet
Det är vanligt att GitHub-lagringsplatser har en README.md fil i roten i lagringsplatsens katalog. På samma sätt är det bra att rapportera den senaste statusen för olika arbetsflöden. Alla arbetsflöden kan generera ett statusmärke som är visuellt tilltalande i README.md-filen . Så här lägger du till statusikonen för arbetsflödet:
Från GitHub-lagringsplatsen väljer du navigeringsalternativet Åtgärder .
Alla arbetsflöden för lagringsplatser visas till vänster, välj önskat arbetsflöde och ellipsknappen (...).
- Ellipsknappen (...) expanderar menyalternativen för det valda arbetsflödet.
Välj menyalternativet Skapa statusikon .
Välj knappen Kopiera statusikonen Markdown .
Klistra in Markdown i filen README.md , spara filen, checka in och push-överföra ändringarna.
Mer information finns i Lägga till ett statusmärke för arbetsflödet.
Exempel på statusmärke för testarbetsflöde
| Bortgång | Misslyckas | Ingen status |
|---|---|---|
|
|
|
|
Se även
- dotnet restore
- dotnet build
- dotnet-test
- Enhetstestning av .NET-appar
- åtgärder/utcheckning
- actions/setup-dotnet