CI/CD dengan GitHub Actions & Saluran DevOps · Pelajaran

Binaan Matriks untuk Pelbagai Persekitaran

Gunakan strategi matriks untuk menjalankan tugas secara selari merentas berbilang versi bahasa, sistem pengendalian atau konfigurasi.

Pelajaran 1 daripada 412 langkah

Binaan Matriks untuk Pelbagai Persekitaran ialah pelajaran CI/CD dengan GitHub Actions & Saluran DevOps percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran CI/CD dengan GitHub Actions & Saluran DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus CI/CD dengan GitHub Actions & Saluran DevOps merangkumi sejumlah 4 pelajaran.

Apakah Binaan Matriks?

Selamat datang kepada ciri berkuasa dalam GitHub Actions: Binaan Matriks! Bayangkan anda perlu menguji kod anda merentasi banyak persekitaran yang berbeza, seperti pelbagai sistem pengendalian atau versi bahasa pengaturcaraan.

Daripada mencipta aliran kerja berasingan untuk setiap gabungan, binaan matriks membolehkan anda menentukan sekumpulan pemboleh ubah, dan GitHub Actions akan menjalankan tugas anda secara automatik untuk setiap gabungan yang mungkin bagi pemboleh ubah tersebut.

Mengapa Menggunakan Binaan Matriks?

Binaan matriks sangat berguna untuk:

  • Pengujian Merentas Platform: Memastikan aplikasi anda berfungsi pada Windows, macOS dan Linux.
  • Keserasian Pelbagai Versi: Menguji menggunakan versi Node.js, Python atau pangkalan data yang berbeza.
  • Pelaksanaan Selari: Menjalankan semua pengujian ini secara serentak untuk menjimatkan banyak masa.

Binaan ini membantu anda mencapai liputan pengujian yang lebih luas dengan cekap.

Sintaks Matriks Asas

Anda menentukan matriks dalam bahagian strategy bagi sesuatu tugas. Dalam strategy.matrix, anda menyenaraikan satu atau lebih pemboleh ubah, setiap satunya dengan tatasusunan nilai.

GitHub Actions kemudiannya mencipta satu tugas bagi setiap gabungan. Mari lihat rupanya:

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

Contoh: Berbilang Versi Node.js

Dalam petikan kod sebelumnya, kami mentakrifkan pemboleh ubah node-version dengan tiga nilai: 14, 16 dan 18.

Takrifan tugas tunggal ini akan mencetuskan tiga tugas berasingan, setiap satunya berjalan pada ubuntu-latest tetapi menggunakan versi Node.js yang berbeza. Hal ini memastikan projek anda berfungsi merentasi versi-versi ini.

Menggabungkan Berbilang Pemboleh Ubah Matriks

Anda tidak terhad kepada satu pemboleh ubah sahaja! Anda boleh menggabungkan beberapa pemboleh ubah dalam matriks anda. Sebagai contoh, anda mungkin mahu menguji sistem pengendalian yang berbeza dengan versi Node.js yang berbeza.

Tambahkan sahaja lebih banyak pasangan kunci-nilai di bawah strategy.matrix. Jumlah tugas ialah hasil darab bilangan nilai bagi setiap pemboleh ubah.

Contoh: Matriks OS dan Node.js

Begini cara menyediakan matriks untuk menguji Ubuntu dan Windows, menggunakan versi Node.js 16 dan 18.

Ini akan mencipta 2 (OS) * 2 (versi Node.js) = 4 tugas berasingan.

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

Menyesuaikan Gabungan dengan 'include'

Kadangkala anda memerlukan gabungan tertentu yang tidak diliputi oleh hasil darab Cartesian lalai, atau anda mahu menambahkan pemboleh ubah tambahan untuk binaan tertentu. Gunakan include untuk menambahkan entri matriks baharu.

Contohnya, anda mungkin mahu menjalankan pengujian tambahan hanya pada Ubuntu dengan Node.js 14, atau menghantar pemboleh ubah persekitaran tertentu kepada gabungan OS/versi tertentu.

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'

Mengecualikan Gabungan Tertentu

Bagaimana pula jika anda mempunyai gabungan yang diketahui akan gagal atau tidak berkaitan dengan projek anda? Kata kunci exclude membolehkan anda mengalih keluar konfigurasi tertentu daripada matriks anda.

Ini membantu anda mengelakkan pelaksanaan tugas yang tidak diperlukan dan menumpukan perhatian pada kes pengujian yang berkaitan.

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

Mengakses Pemboleh Ubah Matriks

Dalam langkah tugas anda, anda boleh mengakses nilai pemboleh ubah matriks semasa menggunakan sintaks ${{ matrix.variable_name }}. Ini penting untuk mengkonfigurasi alat atau menjalankan perintah yang khusus bagi setiap gabungan matriks.

Contohnya, ${{ matrix.os }} menetapkan sistem pengendalian pelaksana secara dinamik, manakala ${{ matrix.node-version }} mengkonfigurasi tindakan persediaan Node.js.

Aplikasi Praktikal

Binaan matriks berkuasa untuk:

  • Pembangunan Pustaka: Menguji menggunakan berbilang versi kebergantungan.
  • Projek Berbilang Bahasa: Membina atau menguji komponen yang ditulis dalam bahasa atau pengkompil yang berbeza.
  • Keserasian Pelayar: Jika menggunakan alat yang menyokongnya, menguji aplikasi web pada pelbagai pelayar.

Binaan ini mempermudah senario pengujian yang kompleks menjadi aliran kerja yang ringkas dan mudah disenggara.

Cabaran Binaan Matriks

Pertimbangkan aliran kerja GitHub Actions yang menggunakan strategi matriks. Matriks tersebut ditakrifkan seperti berikut:

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

Berapakah bilangan tugas yang akan dicipta oleh konfigurasi matriks ini?

Ulang Kaji: Binaan Matriks

Syabas! Anda telah mempelajari tentang Binaan Matriks GitHub Actions.

  • Binaan ini membolehkan anda menjalankan tugas untuk berbilang gabungan pemboleh ubah (OS, versi bahasa dan sebagainya).
  • Binaan ini ditakrifkan menggunakan strategy.matrix dalam sesuatu tugas.
  • include menambahkan gabungan tertentu, manakala exclude mengalih keluarnya.
  • Pemboleh ubah diakses melalui ${{ matrix.variable_name }}.

Binaan matriks penting untuk pengujian yang cekap dan menyeluruh merentasi pelbagai persekitaran. Teruskan berlatih untuk menguasainya!

Percuma untuk bermula

Pelajari CI/CD dengan GitHub Actions & Saluran DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Binaan Matriks untuk Pelbagai Persekitaran” percuma?

Ya — teks penuh “Binaan Matriks untuk Pelbagai Persekitaran” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus CI/CD dengan GitHub Actions & Saluran DevOps, tingkat taraf kepada CoddyKit PRO. Kursus CI/CD dengan GitHub Actions & Saluran DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Binaan Matriks untuk Pelbagai Persekitaran”?

Gunakan strategi matriks untuk menjalankan tugas secara selari merentas berbilang versi bahasa, sistem pengendalian atau konfigurasi. Anda berlatih CI/CD dengan GitHub Actions & Saluran DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan CI/CD dengan GitHub Actions & Saluran DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran CI/CD dengan GitHub Actions & Saluran DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Binaan Matriks untuk Pelbagai Persekitaran” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran CI/CD dengan GitHub Actions & Saluran DevOps ini?

Ya. Setiap pelajaran CI/CD dengan GitHub Actions & Saluran DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Binaan Matriks untuk Pelbagai Persekitaran
  2. Mencache Kebergantungan untuk Kelajuan
  3. Aliran Kerja dan Actions Boleh Guna Semula
  4. Pelaksanaan Bersyarat dan Kebergantungan Tugas
← Kembali ke CI/CD dengan GitHub Actions & Saluran DevOps