Aracılığıyla paylaş


Hızlı Başlangıç: Test doğrulama GitHub iş akışı oluşturma

Bu hızlı başlangıçta.NET kaynak kodunuzu test etmek için GitHub iş akışı oluşturmayı öğreneceksiniz. .NET kodunuzu GitHub'da otomatik olarak test etmek, sürekli tümleştirme (CI) olarak adlandırılır; burada çekme istekleri veya kaynak üzerindeki değişiklikler iş akışlarını tetikler. Test, kaynak kodu oluşturmanın yanı sıra derlenen kaynak kodunun yazarın istediği gibi çalıştığından emin olur. Birim testleri, kaynak kodda yapılan değişikliklerin geçerliliğini sağlamaya yardımcı olmak için çoğu zaman anında geri bildirim döngüsü görevi görür.

Önkoşullar

  • Bir GitHub hesabı.
  • .NET kaynak kodu deposu.

İş akışı dosyası oluşturma

GitHub deposunda ,.github/workflows dizinine yeni bir YAML dosyası ekleyin. İş akışının amacını açıkça gösterecek anlamlı bir dosya adı seçin. Daha fazla bilgi için bkz. İş akışı dosyası.

Önemli

GitHub, iş akışı oluşturma dosyalarının .github/workflows dizinine yerleştirilmesini gerektirir.

Genellikle iş akışı dosyaları, jobs.<job_id>/steps[*] aracılığıyla bir veya daha fazla GitHub Eyleminin bileşimini tanımlar. Daha fazla bilgi için bkz. GitHub Actions için iş akışı söz dizimi.

build-and-test.yml adlı yeni bir dosya oluşturun, aşağıdaki YML içeriğini kopyalayıp içine yapıştırın:

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

Önceki iş akışı bileşiminde:

  • name: build and test öğesi, iş akışı durumu rozetlerinde "derleme ve test" adı olarak görünür.

    name: build and test
    
  • Düğüm, on iş akışını tetikleyen olayları gösterir:

    on:
      push:
      pull_request:
        branches: [ main ]
        paths:
        - '**.cs'
        - '**.csproj'
    
    • .c0 /> veya pull_request, .cs uzantısıyla veya .csproj uzantısıyla biten herhangi bir dosyanın değiştirildiği main dalında gerçekleştiğinde tetiklenir.
  • Düğüm, env adlandırılmış ortam değişkenlerini (env var) tanımlar.

    env:
      DOTNET_VERSION: '6.0.401' # The .NET SDK version to use
    
    • Ortam değişkenine DOTNET_VERSION değeri '6.0.401'atanır. Ortam değişkenine daha sonra GitHub Eyleminin dotnet-versionactions/setup-dotnet@v3 belirtilmesi için başvurulur.
  • Düğüm, jobs iş akışının izlenmesi gereken adımları oluşturur.

    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
    
    • build-<os> adlı tek bir iş vardır ve <os> burada işletim sistemi adıdır strategy/matrix. name ve runs-on öğeleri içindeki her değer için dinamiktirmatrix/os. Bu, Ubuntu, Windows ve macOS'un en son sürümlerinde çalışır.
    • actions/setup-dotnet@v3 GitHub Eylemi, .NET SDK'sını ortam değişkeninden DOTNET_VERSION belirtilen sürümle ayarlamak için kullanılır.
    • dotnet restore komutu çağrılır.
    • dotnet build komutu çağrılır.
    • dotnet test komutu çağrılır.

İş akışı durumu rozeti oluştur

GitHub depolarının, depo dizininin kökünde README.md dosyası bulunması yaygın bir uygulamadır. Benzer şekilde, çeşitli iş akışları için en son durumu bildirmek de güzeldir. Tüm iş akışları, README.md dosyasında görsel olarak çekici olan bir durum rozeti oluşturabilir. İş akışı durumu rozetini eklemek için:

  1. GitHub deposundan Eylemler gezinti seçeneğini belirleyin.

  2. Tüm depo iş akışları sol tarafta görüntülenir, istediğiniz iş akışını ve üç nokta (...) düğmesini seçin.

    • Üç nokta (...) düğmesi, seçili iş akışı için menü seçeneklerini genişletir.
  3. Durum oluştur rozet menü seçeneğini belirleyin.

    GitHub: Durum oluşturma rozeti

  4. Durum rozeti Markdown'ını kopyala düğmesini seçin.

    GitHub: Durum rozeti Markdown'ını kopyala

  5. Markdown'ı README.md dosyasına yapıştırın, dosyayı kaydedin, işleyin ve değişiklikleri gönderin.

Daha fazla bilgi için bkz. İş akışı durumu ekleme rozeti.

Örnek test iş akışı durumu rozeti

Geçici Başarısızlık Durum yok
GitHub: başarıyla geçme rozeti GitHub: başarısız test rozeti GitHub: test durumu yok rozeti

Ayrıca bkz.

Sonraki adımlar