Kem Intensif DevOps · Pelajaran

Pencetus dan Peristiwa Aliran Kerja

Terokai pelbagai peristiwa yang boleh mencetuskan aliran kerja GitHub Actions anda seperti dorongan, permintaan tarik dan peristiwa berjadual.

Pelajaran 1 daripada 411 langkah

Pencetus dan Peristiwa Aliran Kerja ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 1 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.

Apakah yang Memulakan Aliran Kerja?

Aliran kerja dalam Tindakan GitHub tidak berjalan sendiri. Aliran kerja memerlukan isyarat untuk bermula! Isyarat ini dipanggil pencetus.

Pencetus ialah peristiwa khusus yang memberitahu Tindakan GitHub, "Hei, sesuatu telah berlaku! Tiba masanya untuk menjalankan aliran kerja ini." Memahami pencetus ialah kunci untuk mengautomatikkan proses pembangunan anda dengan berkesan.

Kata Kunci 'on'

Dalam fail aliran kerja anda (fail .yml dalam direktori .github/workflows), anda mentakrifkan pencetus menggunakan kata kunci on.

Bahagian ini memberitahu Tindakan GitHub bila aliran kerja perlu dilaksanakan. Anda boleh menentukan satu atau banyak peristiwa.

name: My First Triggered Workflow

on:
  push: # This workflow will run on every push event

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Run a simple command
        run: echo "Workflow triggered!"

Memberi Respons kepada Penghantaran Kod

Peristiwa push ialah salah satu pencetus yang paling biasa. Peristiwa ini dicetuskan setiap kali kod dihantar ke repositori anda, sama ada komit baharu atau gabungan.

Secara lalai, pencetus push akan berjalan untuk semua cawangan.

on: push

jobs:
  greeting:
    runs-on: ubuntu-latest
    steps:
      - name: Say Hello
        run: echo "Code was pushed!"

Penghantaran Bersasar

Anda boleh memperincikan pencetus push supaya hanya berjalan untuk cawangan tertentu atau apabila perubahan berlaku dalam laluan fail tertentu. Ini membantu mengoptimumkan aliran kerja anda.

  • branches: Jalankan hanya apabila penghantaran berlaku pada nama cawangan tertentu.
  • paths: Jalankan hanya apabila perubahan dibuat pada fail dalam direktori yang ditentukan.
on:
  push:
    branches:
      - main
      - 'feature/*' # Glob pattern for feature branches
    paths:
      - 'src/**' # Only if changes in src/ directory

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: echo "Push to relevant branch/path detected!"

Mengautomatikkan Semakan Permintaan Gabungan

Peristiwa pull_request dicetuskan apabila permintaan gabungan dibuka, disegerakkan (komit baharu dihantar ke cawangan PR) atau dibuka semula.

Peristiwa ini sesuai untuk menjalankan semakan automatik seperti ujian, pemeriksaan gaya kod atau semakan kod sebelum perubahan digabungkan ke dalam asas kod utama anda.

on: pull_request

jobs:
  pr_check:
    runs-on: ubuntu-latest
    steps:
      - name: PR opened/updated
        run: echo "A pull request was opened or updated!"

Tindakan PR Khusus

Anda boleh memperincikan lagi pencetus pull_request dengan menentukan types. Ini membolehkan aliran kerja anda memberi respons hanya kepada tindakan khusus yang berkaitan dengan permintaan gabungan.

  • opened: Apabila permintaan gabungan baharu dicipta.
  • synchronize: Apabila komit baharu dihantar ke cawangan PR.
  • reopened: Apabila permintaan gabungan yang ditutup dibuka semula.
on:
  pull_request:
    types: [opened, synchronize, reopened] # Run only on these PR actions

jobs:
  pr_review:
    runs-on: ubuntu-latest
    steps:
      - run: echo "PR action: ${{ github.event.action }}"

Pencetus Berasaskan Masa

Peristiwa schedule membolehkan anda menjalankan aliran kerja pada masa tertentu menggunakan sintaks cron. Ini amat sesuai untuk laporan harian, tugas pembersihan atau pemeriksaan berkala.

Sintaks cron menggunakan lima tanda bintang yang mewakili: minute hour day-of-month month day-of-week.

on:
  schedule:
    - cron: '0 0 * * *' # Run daily at midnight UTC
    - cron: '0 12 * * 1-5' # Run at 12 PM UTC, Mon-Fri

jobs:
  scheduled_task:
    runs-on: ubuntu-latest
    steps:
      - run: echo "Scheduled workflow running!"

Menjalankan Aliran Kerja Secara Manual

Adakalanya anda perlu menjalankan aliran kerja secara manual, mungkin untuk penggunaan atau tugas penyelenggaraan tertentu. Peristiwa workflow_dispatch membolehkan perkara ini dilakukan.

Apabila pencetus ini tersedia, butang "Jalankan aliran kerja" akan muncul dalam antara muka GitHub untuk aliran kerja tersebut, lalu membolehkan anda mencetuskannya apabila diperlukan.

on: workflow_dispatch

jobs:
  manual_task:
    runs-on: ubuntu-latest
    steps:
      - run: echo "This workflow was triggered manually!"

Melangkaui Asas

Walaupun push, pull_request, schedule dan workflow_dispatch merupakan peristiwa yang paling lazim, GitHub Actions menawarkan banyak pencetus peristiwa lain.

  • workflow_call: Untuk mencipta aliran kerja yang boleh digunakan semula.
  • repository_dispatch: Untuk mencetuskan aliran kerja daripada sistem luaran melalui panggilan API.
  • Banyak lagi untuk peristiwa GitHub tertentu (contohnya, issues, release, fork).

Cabaran Pencetus

Anda perlu menyediakan aliran kerja yang menjana laporan mingguan secara automatik setiap hari Jumaat pada jam 5 petang UTC, tanpa mengira sebarang perubahan kod. Peristiwa pencetus manakah yang paling sesuai untuk tugas ini?

Pencetus dalam Ulang Kaji

Syabas kerana meneroka pencetus GitHub Actions! Anda telah mempelajari bahawa aliran kerja dimulakan oleh pelbagai peristiwa:

  • push: Untuk perubahan yang dihantar ke repositori anda.
  • pull_request: Untuk tindakan yang berkaitan dengan permintaan tarik.
  • schedule: Untuk tugas berulang berasaskan masa menggunakan cron.
  • workflow_dispatch: Untuk pelaksanaan manual daripada antara muka pengguna atau API.

Memilih pencetus yang betul ialah langkah pertama untuk membina saluran paip CI/CD yang berkesan dan cekap!

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 “Pencetus dan Peristiwa Aliran Kerja” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Pencetus dan Peristiwa Aliran Kerja”, 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 “Pencetus dan Peristiwa Aliran Kerja”?

Terokai pelbagai peristiwa yang boleh mencetuskan aliran kerja GitHub Actions anda seperti dorongan, permintaan tarik dan peristiwa berjadual. 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 1 daripada 4.

Berapa lamakah pelajaran “Pencetus dan Peristiwa Aliran Kerja” 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. Pencetus dan Peristiwa Aliran Kerja
  2. Menjalankan Ujian dengan GitHub Actions
  3. Pemeriksaan Lint dan Kualiti Kod
  4. Menyimpan Kebergantungan untuk Binaan Lebih Pantas
← Kembali ke Kem Intensif DevOps