Mulai cepat: Membuat alur kerja GitHub validasi build

Dalam mulai cepat ini, Anda akan mempelajari cara membuat alur kerja GitHub untuk memvalidasi kompilasi kode sumber .NET Anda di GitHub. Mengkompilasi kode .NET Anda adalah salah satu langkah validasi paling dasar yang dapat Anda ambil untuk membantu memastikan kualitas pembaruan kode Anda. Jika kode tidak mengkompilasi (atau membangun), kode tersebut mudah jera dan harus menjadi tanda yang jelas bahwa kode perlu diperbaiki.

Prasyarat

  • Akun GitHub.
  • Repositori kode sumber .NET.

Membuat file alur kerja

Di repositori GitHub, tambahkan file YAML baru ke direktori .github/workflows . Pilih nama file yang bermakna, sesuatu yang akan dengan jelas menunjukkan apa yang dimaksudkan alur kerja. Untuk informasi selengkapnya, lihat File alur kerja.

Penting

GitHub mengharuskan file komposisi alur kerja ditempatkan dalam direktori .github/workflows .

File alur kerja biasanya menentukan komposisi satu atau beberapa GitHub Action melalui jobs.<job_id>/steps[*]. Untuk informasi selengkapnya, lihat Sintaks alur kerja untuk Tindakan GitHub.

Buat file baru bernama build-validation.yml, salin dan tempel konten YML berikut ke dalamnya:

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

Dalam komposisi alur kerja sebelumnya:

  • menentukan name: build nama, "build" akan muncul dalam lencana status alur kerja.

    name: build
    
  • Simpul on menandakan peristiwa yang memicu alur kerja:

    on:
      push:
      pull_request:
        branches: [ main ]
        paths:
        - '**.cs'
        - '**.csproj'
    
    • Dipicu ketika push atau pull_request terjadi pada main cabang di mana setiap file berubah berakhir dengan ekstensi file .cs atau .csproj .
  • Simpul env mendefinisikan variabel lingkungan bernama (env var).

    env:
      DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
    
    • Variabel DOTNET_VERSION lingkungan diberi nilai '6.0.401'. Variabel lingkungan kemudian dirujuk untuk menentukan dotnet-versionactions/setup-dotnet@v3 GitHub Action.
  • Simpul jobs menyusun langkah-langkah untuk diambil alur kerja.

    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
    
    • Ada satu pekerjaan, bernama build-<os> di mana <os> adalah nama sistem operasi dari strategy/matrix. Elemen name dan runs-on bersifat dinamis untuk setiap nilai dalam matrix/os. Ini akan berjalan pada versi terbaru Ubuntu, Windows, dan macOS.

    • actions/setup-dotnet@v3 Tindakan GitHub diperlukan untuk menyiapkan .NET SDK dengan versi yang ditentukan dari DOTNET_VERSION variabel lingkungan.

    • (Opsional) Langkah tambahan mungkin diperlukan, tergantung pada beban kerja .NET Anda. Mereka dihilangkan dari contoh ini, tetapi Anda mungkin memerlukan alat tambahan yang diinstal untuk membangun aplikasi Anda.

      • Misalnya, saat membangun aplikasi ASP.NET Core Blazor WebAssembly dengan kompilasi Ahead-of-Time (AoT), Anda akan menginstal beban kerja yang sesuai sebelum menjalankan operasi pemulihan/build/penerbitan.
      - name: Install WASM Tools Workload
        run: dotnet workload install wasm-tools
      

      Untuk informasi selengkapnya tentang beban kerja .NET, lihat dotnet workload install.

    • Perintah dotnet restore dipanggil.

    • Perintah dotnet build dipanggil.

Dalam hal ini, pikirkan file alur kerja sebagai komposisi yang mewakili berbagai langkah untuk membangun aplikasi. Banyak perintah .NET CLI tersedia, yang sebagian besar dapat digunakan dalam konteks GitHub Action.

Membuat lencana status alur kerja

Nomenklatur umum bagi repositori GitHub untuk memiliki file README.md di akar direktori repositori. Demikian juga, ada baiknya untuk melaporkan status terbaru untuk berbagai alur kerja. Semua alur kerja dapat menghasilkan lencana status, yang menarik secara visual dalam file README.md . Untuk menambahkan lencana status alur kerja:

  1. Dari repositori GitHub pilih opsi navigasi Tindakan .

  2. Semua alur kerja repositori ditampilkan di sisi kiri, pilih alur kerja yang diinginkan dan tombol elipsis (...).

    • Tombol elipsis (...) memperluas opsi menu untuk alur kerja yang dipilih.
  3. Pilih opsi menu Buat lencana status.

    GitHub: Create status badge

  4. Pilih tombol Salin markdown lencana status.

    GitHub: Copy status badge Markdown

  5. Tempelkan Markdown ke dalam file README.md , simpan file, terapkan, dan dorong perubahan.

Untuk informasi selengkapnya, lihat Menambahkan lencana status alur kerja.

Contoh lencana status alur kerja build

Lulus Gagal Tidak ada status
GitHub: build passing badge GitHub: build failing badge GitHub: build no-status badge

Lihat juga

Langkah berikutnya