Rövid útmutató: Buildérvényesítési GitHub-munkafolyamat létrehozása

Ebben a rövid útmutatóban megtudhatja, hogyan hozhat létre GitHub-munkafolyamatot a .NET-forráskód fordításának ellenőrzéséhez a GitHubon. A .NET-kód összeállítása az egyik legalapvetőbb ellenőrzési lépés, amellyel biztosítható a kód frissítéseinek minősége. Ha a kód nem fordítható le (vagy nem készíthető), az könnyen elrettentő lehet, és egyértelmű jelnek kell lennie, hogy a kódot ki kell javítani.

Előfeltételek

  • Egy GitHub-fiók.
  • .NET-forráskódtár.

Munkafolyamat-fájl létrehozása

A GitHub-adattárban adjon hozzá egy új YAML-fájlt a .github/workflows könyvtárhoz. Válasszon egy értelmezhető fájlnevet, amely egyértelműen jelzi a munkafolyamat célját. További információ: Munkafolyamat-fájl.

Fontos

A GitHub megköveteli, hogy a munkafolyamat-összeállítási fájlokat a .github/workflows könyvtárba kell helyezni.

A munkafolyamat-fájlok általában egy vagy több GitHub-művelet összetételét határozzák meg a jobs.<job_id>/steps[*]. További információ: A GitHub Actions munkafolyamat-szintaxisa.

Hozzon létre egy build-validation.yml nevű új fájlt, másolja és illessze be a következő YML-tartalmat:

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

Az előző munkafolyamat-összeállításban:

  • A name: build "build" nevet határozza meg a munkafolyamat állapotjelvényeiben.

    name: build
    
  • A on csomópont a munkafolyamatot kiváltó eseményeket jelöli:

    on:
      push:
      pull_request:
        branches: [ main ]
        paths:
        - '**.cs'
        - '**.csproj'
    
    • Akkor aktiválódik, amikor egy push vagy pull_request több olyan ág jelenik meg, main amelyben a fájlok a .cs vagy a .csproj fájlkiterjesztéssel végződnek.
  • A env csomópont nevesített környezeti változókat (env var) határoz meg.

    env:
      DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
    
    • A környezeti változóhoz DOTNET_VERSION hozzá van rendelve az érték '6.0.401'. A környezeti változóra később hivatkozunk a dotnet-versionactions/setup-dotnet@v3 GitHub-művelet megadásához.
  • A jobs csomópont összeállítja a munkafolyamat lépéseit.

    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
    
    • Egyetlen feladat van elnevezve build-<os> , ahol az <os> operációs rendszer neve szerepel a strategy/matrix. Az name elemek és runs-on az elemek dinamikusak a matrix/os. Ez az Ubuntu, a Windows és a macOS legújabb verzióin fog futni.

    • A actions/setup-dotnet@v3 GitHub-művelet szükséges a .NET SDK beállításához a környezeti változó megadott verziójával DOTNET_VERSION .

    • (Opcionálisan) A .NET-számítási feladattól függően további lépésekre lehet szükség. Ezek nem szerepelnek a példában, de előfordulhat, hogy további eszközökre van szüksége az alkalmazások létrehozásához.

      • Ha például egy ASP.NET Core Blazor WebAssembly-alkalmazást készít az Idő előtt (AoT) összeállítással, akkor a visszaállítási/buildelési/közzétételi műveletek futtatása előtt telepítenie kell a megfelelő számítási feladatot.
      - name: Install WASM Tools Workload
        run: dotnet workload install wasm-tools
      

      A .NET-számítási feladatokról további információt a dotnet workload install.

    • A dotnet restore parancs meghívása.

    • A dotnet build parancs meghívása.

Ebben az esetben a munkafolyamat-fájlokat olyan összeállításnak tekinti, amely az alkalmazások létrehozásának különböző lépéseit jelöli. Számos .NET CLI-parancs érhető el, amelyek többsége egy GitHub-művelet kontextusában használható.

Munkafolyamat állapotjelvényének létrehozása

A GitHub-adattárak általános elnevezése, hogy egy README.md fájl található az adattár könyvtárának gyökerében. Hasonlóképpen, jó, ha a különböző munkafolyamatok legújabb állapotát jelenti. Minden munkafolyamat létrehozhat egy állapotjelvényt, amely vizuálisan vonzó a README.md fájlban. A munkafolyamat állapotjelvényének hozzáadása:

  1. A GitHub-adattárban válassza a Műveletek navigációs lehetőséget.

  2. Az összes adattár-munkafolyamat megjelenik a bal oldalon, válassza ki a kívánt munkafolyamatot és a három pont (...) gombot.

    • A három pont (...) gomb kibontja a kijelölt munkafolyamat menübeállításait.
  3. Válassza az Állapotjelvény létrehozása menüt.

    GitHub: Create status badge

  4. Válassza a Másolás állapotjelvény Markdown gombját.

    GitHub: Copy status badge Markdown

  5. Illessze be a Markdownt a README.md fájlba, mentse a fájlt, véglegesítse és küldje el a módosításokat.

További információ: Munkafolyamat-állapotjelvény hozzáadása.

Példa munkafolyamat-állapotjelvény létrehozására

Elhaladó Sikertelen Nincs állapot
GitHub: build passing badge GitHub: build failing badge GitHub: build no-status badge

Lásd még

Következő lépések