Delen via


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 of pull_request optreedt in de main vertakking waar bestanden zijn gewijzigd die eindigen op de bestandsextensies .cs of .csproj .
  • 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 de dotnet-versionactions/setup-dotnet@v3 GitHub Action op te geven.
  • 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 de strategy/matrix. De name elementen zijn runs-on dynamisch voor elke waarde in de matrix/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 de DOTNET_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:

  1. Selecteer in de GitHub-opslagplaats de optie Actiesnavigatie .

  2. 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.
  3. Selecteer de menuoptie Statusbadge maken.

    GitHub: Create status badge

  4. Selecteer de markdown-knop Status kopiëren.

    GitHub: Copy status badge Markdown

  5. 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
GitHub: build passing badge GitHub: build failing badge GitHub: build no-status badge

Zie ook

Volgende stappen