0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Ders

Birden Çok Ortam için Matris Derlemeleri

İşleri farklı dil sürümleri, işletim sistemleri veya yapılandırmalar genelinde paralel olarak çalıştırmak için matris stratejilerinden yararlanın.

Birden Çok Ortam için Matris Derlemeleri, CoddyKit'te ücretsiz bir CI/CD with GitHub Actions & DevOps Pipelines dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, CI/CD with GitHub Actions & DevOps Pipelines öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.

Matris Derlemeleri Nedir?

GitHub Eylemleri'ndeki güçlü bir özellik olan matris derlemelerine hoş geldiniz! Kodunuzu çeşitli işletim sistemleri veya programlama dili sürümleri gibi birçok farklı ortamda sınamanız gerektiğini düşünün.

Her kombinasyon için ayrı bir iş akışı oluşturmak yerine, matris derlemeleri bir değişken kümesi tanımlamanıza olanak tanır ve GitHub Eylemleri, işlerinizin bu değişkenlerin olası her kombinasyonu için otomatik olarak çalıştırılmasını sağlar.

Matris Derlemeleri Neden Kullanılır?

Matris derlemeleri şu amaçlarla son derece kullanışlıdır:

  • Platformlar Arası Sınama: Uygulamanızın Windows, macOS ve Linux üzerinde çalıştığından emin olmanızı sağlar.
  • Çoklu Sürüm Uyumluluğu: Farklı Node.js, Python veya veritabanı sürümleriyle sınama yapmanızı sağlar.
  • Paralel Yürütme: Tüm bu sınamaları aynı anda çalıştırarak büyük ölçüde zaman kazandırır.

Daha geniş bir sınama kapsamına verimli bir şekilde ulaşmanıza yardımcı olurlar.

Temel Matris Sözdizimi

Bir matrisi bir işin strategy bölümünde tanımlarsınız. strategy.matrix içinde, her biri bir değer dizisi içeren bir veya daha fazla değişken listelersiniz.

GitHub Eylemleri daha sonra her kombinasyon için bir iş oluşturur. Nasıl göründüğüne bakalım:

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14, 16, 18]
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
      - name: Install dependencies
        run: npm ci
      - name: Run tests
        run: npm test

Örnek: Birden Çok Node.js Sürümü

Önceki kod parçasında, 14, 16 ve 18 olmak üzere üç değer içeren bir node-version değişkeni tanımladık.

Bu tek iş tanımı, her biri ubuntu-latest üzerinde çalışan ancak farklı bir Node.js sürümü kullanan üç ayrı işi tetikler. Böylece projenizin bu sürümlerin tümünde çalıştığından emin olabilirsiniz.

Birden Çok Matris Değişkenini Birleştirme

Yalnızca bir değişkenle sınırlı değilsiniz! Matrisinizde birden çok değişkeni birleştirebilirsiniz. Örneğin, farklı Node.js sürümleriyle farklı işletim sistemlerinde sınama yapmak isteyebilirsiniz.

strategy.matrix altında daha fazla anahtar-değer çifti eklemeniz yeterlidir. Toplam iş sayısı, her değişken için bulunan değer sayılarının çarpımı olur.

Örnek: OS ve Node.js Matrisi

Ubuntu ve Windows üzerinde, 16 ve 18 Node.js sürümleriyle sınama yapmak üzere bir matris şu şekilde ayarlanabilir.

Bu işlem 2 (OS) * 2 (Node.js sürümü) = 4 ayrı iş oluşturur.

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
        node-version: [16, 18]
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
      - name: Install dependencies
        run: npm ci
      - name: Run tests
        run: npm test

Dahil Etmeyle Kombinasyonları Özelleştirme

Bazen varsayılan Kartezyen çarpımın kapsamadığı belirli kombinasyonlara ihtiyaç duyarsınız veya belirli derlemelere ek değişkenler eklemek istersiniz. Yeni matris girdileri eklemek için include kullanın.

Örneğin, yalnızca Ubuntu ve Node.js 14 üzerinde ek bir sınama çalıştırmak veya belirli bir işletim sistemi ve sürüm kombinasyonuna özel bir ortam değişkeni aktarmak isteyebilirsiniz.

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
        node-version: [16, 18]
        include:
          - os: ubuntu-latest
            node-version: 14
            test-suite: 'full'

Belirli Kombinasyonları Dışlama

Başarısız olacağı bilinen veya projenizle ilgisi olmayan bir kombinasyonunuz varsa ne olur? exclude anahtar sözcüğü, belirli yapılandırmaları matrisinizden kaldırmanıza olanak tanır.

Bu sayede gereksiz iş çalıştırmalarından kaçınabilir ve ilgili sınama durumlarına odaklanabilirsiniz.

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
        node-version: [16, 18, 20]
        exclude:
          - os: windows-latest
            node-version: 16

Matris Değişkenlerine Erişme

İş adımlarınız içinde, geçerli matris değişkeni değerlerine ${{ matrix.variable_name }} sözdizimini kullanarak erişebilirsiniz. Bu, her matris kombinasyonuna özgü araçları yapılandırmak veya komutları çalıştırmak için çok önemlidir.

Örneğin, ${{ matrix.os }} çalıştırıcının işletim sistemini dinamik olarak ayarlar ve ${{ matrix.node-version }} Node.js kurulum eylemini yapılandırır.

Pratik Uygulamalar

Matris derlemeleri şu amaçlarla güçlü bir çözümdür:

  • Kitaplık Geliştirme: Bir bağımlılığın birden çok sürümüyle sınama yapma.
  • Çok Dilli Projeler: Farklı dillerle veya derleyicilerle yazılmış bileşenleri derleme ve sınama.
  • Tarayıcı Uyumluluğu: Kullanılan araç bunu destekliyorsa web uygulamalarını farklı tarayıcılarda sınama.

Karmaşık sınama senaryolarını kısa ve bakımı kolay iş akışlarına dönüştürürler.

Matris Derleme Sorusu

Matris stratejisi kullanan bir GitHub Eylemleri iş akışını ele alın. Matris şu şekilde tanımlanmıştır:

strategy:
  matrix:
    os: [ubuntu-latest, macos-latest]
    python-version: [3.8, 3.9]
    exclude:
      - os: macos-latest
        python-version: 3.8

Bu matris yapılandırması kaç iş oluşturur?

Özet: Matris Derlemeleri

Harika iş çıkardınız! GitHub Eylemleri matris derlemelerini öğrendiniz.

  • İşleri birden çok değişken kombinasyonu (OS, dil sürümleri vb.) için çalıştırmanıza olanak tanırlar.
  • Bir iş içinde strategy.matrix kullanılarak tanımlanırlar.
  • include belirli kombinasyonlar eklerken exclude bunları kaldırır.
  • Değişkenlere ${{ matrix.variable_name }} aracılığıyla erişilir.

Matris derlemeleri, farklı ortamlarda verimli ve kapsamlı sınama yapmak için çok önemlidir. Onlarda uzmanlaşmak için pratik yapmaya devam edin!

Sıkça Sorulan Sorular

“Birden Çok Ortam için Matris Derlemeleri” dersi ücretsiz mi?

Evet — “Birden Çok Ortam için Matris Derlemeleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve CI/CD with GitHub Actions & DevOps Pipelines kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.

“Birden Çok Ortam için Matris Derlemeleri” dersinde ne öğreneceğim?

İşleri farklı dil sürümleri, işletim sistemleri veya yapılandırmalar genelinde paralel olarak çalıştırmak için matris stratejilerinden yararlanın. CI/CD with GitHub Actions & DevOps Pipelines ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

CI/CD with GitHub Actions & DevOps Pipelines öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te CI/CD with GitHub Actions & DevOps Pipelines, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Birden Çok Ortam için Matris Derlemeleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu CI/CD with GitHub Actions & DevOps Pipelines dersinde kod yazıp çalıştırabilir miyim?

Evet. Her CI/CD with GitHub Actions & DevOps Pipelines dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Birden Çok Ortam için Matris Derlemeleri
  2. Hız için Bağımlılıkları Önbelleğe Alma
  3. Yeniden Kullanılabilir İş Akışları ve Eylemler
  4. Koşullu Yürütme ve İş Bağımlılıkları
← CI/CD with GitHub Actions & DevOps Pipelines Sayfasına Dön