Sdílet prostřednictvím


Rychlý start: Vytvoření pracovního postupu githubu pro ověření sestavení

V tomto rychlém startu se dozvíte, jak vytvořit pracovní postup GitHubu pro ověření kompilace zdrojového kódu .NET na GitHubu. Kompilace kódu .NET je jedním z nejzákladnějších ověřovacích kroků, které můžete provést, abyste zajistili kvalitu aktualizací kódu. Pokud se kód nekompiluje (nebo sestaví), je to jednoduché odstrašující a mělo by to být jasné znamení, že je potřeba kód opravit.

Požadavky

  • Účet GitHub.
  • Úložiště zdrojového kódu .NET.

Vytvoření souboru pracovního postupu

V úložišti GitHub přidejte do adresáře .github/workflows nový soubor YAML. Zvolte smysluplný název souboru, který jasně indikuje, co má pracovní postup udělat. Další informace naleznete v souboru pracovního postupu.

Důležité

GitHub vyžaduje, aby se soubory složení pracovního postupu umístily do adresáře .github/workflows .

Soubory pracovního postupu obvykle definují složení jedné nebo více akcí GitHubu prostřednictvím .jobs.<job_id>/steps[*] Další informace najdete v syntaxi pracovního postupu pro GitHub Actions.

Vytvořte nový soubor s názvem build-validation.yml, zkopírujte a vložte do něj následující obsah YML:

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

V předchozím složení pracovního postupu:

  • Definuje name: build název, "build" se zobrazí v odznácích stavu pracovního postupu.

    name: build
    
  • Uzel on označuje události, které aktivují pracovní postup:

    on:
      push:
      pull_request:
        branches: [ main ]
        paths:
        - '**.cs'
        - '**.csproj'
    
    • Aktivuje se, když push ve větvi dojde pull_request ke main změně souborů, které končí .cs nebo příponou souboru .csproj .
  • Uzel env definuje pojmenované proměnné prostředí (env var).

    env:
      DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
    
    • Proměnná DOTNET_VERSION prostředí má přiřazenou hodnotu '6.0.401'. Na proměnnou prostředí se později odkazuje, aby se určila dotnet-versionactions/setup-dotnet@v3 akce GitHubu.
  • Uzel jobs sestaví kroky, které má pracovní postup provést.

    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
    
    • Existuje jedna úloha s názvem build-<os> , kde <os> je název operačního systému z objektu strategy/matrix. Prvky name a runs-on prvky jsou dynamické pro každou hodnotu v objektu matrix/os. Spustí se na nejnovějších verzích Ubuntu, Windows a macOS.

    • Akce actions/setup-dotnet@v3 GitHubu se vyžaduje k nastavení sady .NET SDK se zadanou verzí z DOTNET_VERSION proměnné prostředí.

    • (Volitelně) V závislosti na úloze .NET se můžou vyžadovat další kroky. Z tohoto příkladu se vynechá, ale možná budete potřebovat další nástroje nainstalované k sestavení aplikací.

      • Například při vytváření aplikace ASP.NET Core Blazor WebAssembly s kompilací AoT (Head-of-Time) byste před spuštěním operací obnovení/sestavení/publikování nainstalovali odpovídající úlohu.
      - name: Install WASM Tools Workload
        run: dotnet workload install wasm-tools
      

      Další informace o úlohách .NET najdete v tématu dotnet workload install.

    • Příkaz dotnet restore je volána.

    • Příkaz dotnet build je volána.

V tomto případě si soubor pracovního postupu představte jako složení, které představuje různé kroky sestavení aplikace. K dispozici je mnoho příkazů rozhraní příkazového řádku .NET, z nichž většina se dá použít v kontextu akce GitHubu.

Odznak Vytvoření stavu pracovního postupu

Pro úložiště GitHubu se běžně používá README.md soubor v kořenovém adresáři úložiště. Stejně tak je dobré hlásit nejnovější stav pro různé pracovní postupy. Všechny pracovní postupy můžou generovat odznáček stavu, který je vizuálně atraktivní v souboru README.md . Přidání odznaku stavu pracovního postupu:

  1. V úložišti GitHub vyberte možnost Navigace v akcích .

  2. Všechny pracovní postupy úložiště se zobrazují na levé straně, vyberte požadovaný pracovní postup a tlačítko se třemi tečkami (...).

    • Tlačítko se třemi tečkami (...) rozbalí možnosti nabídky pro vybraný pracovní postup.
  3. Vyberte možnost nabídky Vytvořit stavový odznáček.

    GitHub: Create status badge

  4. Vyberte tlačítko Kopírovat odznáček Markdown.

    GitHub: Copy status badge Markdown

  5. Vložte Markdown do souboru README.md , uložte soubor, potvrďte a nasdílejte změny.

Další informace najdete v tématu Přidání odznaku stavu pracovního postupu.

Ukázkový odznak stavu pracovního postupu sestavení

Předávání Selhání Žádný stav
GitHub: build passing badge GitHub: build failing badge GitHub: build no-status badge

Viz také

Další kroky