Kem Intensif DevOps · Pelajaran

Membina Aliran Kerja CI/CD

Cipta saluran CI/CD praktikal untuk membina, menguji dan melancarkan kod anda secara automatik apabila berlaku tolakan atau permintaan tarik.

Pelajaran 2 daripada 411 langkah

Membina Aliran Kerja CI/CD ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Selamat Datang ke CI/CD

Dalam pelajaran ini, anda akan belajar membina Integrasi Berterusan (CI) dan Penghantaran Berterusan (CD) yang berkuasa menggunakan GitHub Actions.

CI/CD mengautomasikan proses pembangunan perisian anda, daripada perubahan kod hingga penggunaannya, supaya proses menjadi lebih pantas dan boleh dipercayai.

Mengapa CI/CD Penting

Mengapakah automasi begitu penting dalam pembangunan perisian moden?

  • Maklum Balas Lebih Pantas: Kesan pepijat dan masalah integrasi lebih awal dengan menjalankan ujian secara automatik.
  • Binaan Konsisten: Pastikan setiap binaan mengikut langkah yang sama, sekali gus mengurangkan masalah “ia berfungsi pada mesin saya”.
  • Pelancaran Boleh Dipercayai: Lancarkan ciri baharu atau pembaikan dengan yakin dan kurang ralat manual.
  • Kerjasama Lebih Baik: Pasukan mengintegrasikan perubahan dengan kerap dan lancar, sekali gus meminimumkan konflik gabungan.

GitHub Actions: Konsep Teras

GitHub Actions menggunakan aliran kerja yang ditakrifkan dalam fail YAML. Fail ini terletak dalam direktori khas repositori anda: .github/workflows/.

Aliran kerja mentakrifkan satu siri tugas, dan setiap tugas mengandungi langkah yang melaksanakan perintah atau menggunakan tindakan sedia dibina. Beginilah cara anda memberitahu GitHub perkara yang perlu dilakukan!

Membina Aliran Kerja CI Pertama Anda

Mari cipta aliran kerja CI asas yang tercetus pada setiap push ke repositori anda. Aliran kerja ini akan menyediakan Node.js dan mensimulasikan proses binaan projek.

Simpan kandungan ini sebagai .github/workflows/ci.yml dalam repositori anda:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Build project
        run: node build.js

Mensimulasikan Skrip Binaan

Perintah node build.js dalam aliran kerja akan melaksanakan skrip seperti ini. Skrip ini mensimulasikan kerja menyusun, menghimpunkan atau menyediakan kod aplikasi anda.

Cuba jalankannya untuk melihat keluarannya:

console.log("Starting project build...");
console.log("  - Compiling source files...");
console.log("  - Bundling assets for deployment...");
console.log("Build process finished successfully!");

Menambah Ujian Automatik

Bahagian penting CI ialah menjalankan ujian automatik. Mari lanjutkan aliran kerja kita dengan menambah langkah ujian selepas memasang kebergantungan. Jika ujian gagal, aliran kerja turut gagal, lalu menghalang kod yang bermasalah daripada diteruskan!

Kita akan menambah langkah test seperti ini:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: node test.js
      - name: Build project
        run: node build.js

Mensimulasikan Skrip Ujian

Berikut ialah skrip test.js ringkas yang mungkin dilaksanakan oleh aliran kerja anda. Dalam projek sebenar, ini akan melibatkan rangka kerja ujian seperti Jest atau Mocha, tetapi contoh ini menunjukkan prinsip melaksanakan ujian.

Jalankannya untuk melihat hasil ujian simulasi:

console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing

if (allTestsPass) {
  console.log("All 12 tests passed successfully!");
} else {
  console.error("Tests failed! Please fix the errors.");
  process.exit(1); // Exit with a non-zero code to indicate failure
}

Memperkenalkan Penghantaran Berterusan (CD)

Walaupun CI memfokuskan pembinaan dan pengujian, Penghantaran Berterusan (CD) melangkah lebih jauh dengan menggunakan aplikasi anda secara automatik pada pelayan atau perkhidmatan awan setelah semua semakan CI lulus.

Pencetus CD yang lazim termasuk:

  • Mencipta tag Git baharu, contohnya v1.0.0
  • Menolak ke cabang tertentu, contohnya main atau production
  • Mencipta Keluaran GitHub

Aliran Kerja CD Ringkas

Berikut ialah aliran kerja yang tercetus apabila tag Git baharu dibuat dan mengandungi langkah penggunaan olok-olok. Dalam situasi sebenar, langkah ini akan berinteraksi dengan penyedia pengehosan anda, contohnya AWS, Azure atau Heroku.

Simpan ini sebagai .github/workflows/cd.yml:

name: Deploy to Production

on:
  push:
    tags:
      - 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Simulate deployment
        run: |
          echo "Deploying application to production server..."
          echo "Version: ${{ github.ref_name }}"
          echo "Deployment complete!"
          # In a real scenario, you'd use a deployment action here
          # e.g., aws-actions/configure-aws-credentials, appleboy/ssh-action

Semakan Aliran Kerja CI/CD

Antara berikut, yang manakah manfaat utama pelaksanaan saluran paip CI/CD?

Imbas Kembali: Membina CI/CD

Anda telah belajar membina aliran kerja CI/CD yang kukuh dengan GitHub Actions!

  • Kita mentakrifkan CI/CD dan manfaatnya untuk pembangunan moden.
  • Kita meneroka struktur YAML aliran kerja GitHub Actions yang penting.
  • Kita mencipta aliran kerja CI untuk mengautomasikan binaan dan ujian projek.
  • Kita mereka bentuk aliran kerja CD untuk penggunaan automatik yang dicetuskan oleh tag.

Teruskan mengautomasikan proses supaya kod dapat dihantar dengan lebih pantas dan yakin!

Percuma untuk bermula

Pelajari Kem Intensif 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
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “Membina Aliran Kerja CI/CD” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Membina Aliran Kerja CI/CD”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Membina Aliran Kerja CI/CD”?

Cipta saluran CI/CD praktikal untuk membina, menguji dan melancarkan kod anda secara automatik apabila berlaku tolakan atau permintaan tarik. Anda berlatih Kem Intensif 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 Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif 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 2 daripada 4.

Berapa lamakah pelajaran “Membina Aliran Kerja CI/CD” 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 Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif 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. Pengenalan kepada GitHub Actions
  2. Membina Aliran Kerja CI/CD
  3. Actions Tersuai & Marketplace
  4. Rahsia dan Pemboleh Ubah Persekitaran dalam Actions
← Kembali ke Kem Intensif DevOps