Bagikan melalui


Mulai cepat: Membuat alur kerja GitHub validasi pengujian

Dalam mulai cepat ini, Anda akan mempelajari cara membuat alur kerja GitHub untuk menguji kode sumber .NET Anda. Secara otomatis menguji kode .NET Anda dalam GitHub disebut sebagai integrasi berkelanjutan (CI), di mana permintaan pull atau perubahan pada alur kerja pemicu sumber untuk dilatih. Bersama dengan membangun kode sumber, pengujian memastikan bahwa kode sumber yang dikompilasi berfungsi sebagai penulis yang dimaksudkan. Lebih sering daripada tidak, pengujian unit berfungsi sebagai perulangan umpan balik segera untuk membantu memastikan validitas perubahan pada kode sumber.

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-and-test.yml, salin dan tempel konten YML berikut ke dalamnya:

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

Dalam komposisi alur kerja sebelumnya:

  • name: build and test mendefinisikan nama, "build and test" akan muncul di lencana status alur kerja.

    name: build and test
    
  • 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-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
    
    • 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 GitHub Action digunakan untuk menyiapkan .NET SDK dengan versi yang ditentukan dari DOTNET_VERSION variabel lingkungan.
    • Perintah dotnet restore dipanggil.
    • Perintah dotnet build dipanggil.
    • Perintah dotnet test dipanggil.

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 pengujian

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

Lihat juga

Langkah berikutnya