Peta dunia

 

EN: Read in English

Dunia C2: Pipeline Container

Concurrency, penapis laluan dan cache

Anda akan belajar: tiga helah yang buat tali sawat lebih laju dan murah.

Teks BM belum disemak oleh penutur asli.

Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026

Masalahnya

Anda push 3 pembaikan kecil dalam 2 minit. Tali sawat jalankan ketiga-tiganya sepenuhnya. Hanya yang terakhir penting. Apa yang boleh bantu?

Pilih satu jawapan.

Tengok

Pilih satu event. Tekan Run dan tengok tali sawat.

Push ke menu-page mulakan satu run. Run lama pada branch yang sama dibatalkan dulu. Kemudian ujian berjalan dan lulus.

Apa yang berlaku di GitHub

Fail workflow .github/workflows/ci.yml

name: CI
on:
push:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 24
cache: npm
- run: npm ci
- run: npm test

Tali sawat

Push ke menu-page · menu-page

concurrency: Run dalam kumpulan yang sama tunggu giliran, atau run yang lama dibatalkan. letak run dalam satu kumpulan: workflow sama, branch sama. cancel-in-progress: true batalkan run yang lama. Tekan Run.

Semak

Anda push ke main dan ke menu-page serentak. Adakah satu batalkan yang lain?

Pilih satu jawapan.

Cuba

penapis laluan (path filter): paths atau paths-ignore: mulakan workflow hanya bila fail tertentu berubah. langkau tali sawat bila hanya fail tertentu berubah. Yang ini tulis paths-ignore: ['docs/**', '**.md']. Susun setiap push.

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Cuba

      cache: npm simpan muat turun npm dalam pantri antara run. Tekan Run dua kali. npm ci kedua lebih cepat.

      Run dua kali. Tengok run kedua ambil jalan pintas.

      Apa yang berlaku di GitHub

      Fail workflow .github/workflows/ci.yml

      name: CI
      on:
      push:
      concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
      permissions:
      contents: read
      jobs:
      test:
      runs-on: ubuntu-latest
      steps:
      - uses: actions/checkout@v7
      - uses: actions/setup-node@v7
      with:
      node-version: 24
      cache: npm
      - run: npm ci
      - run: npm test
      

      Tali sawat

      Push ke menu-page · menu-page

      Teka

      Satu PR ubah README.md sahaja. Semakan CI wajibnya guna penapis laluan ini. Boleh anda merge?

      Pilih satu jawapan.

      Anda berjaya!

      Kini anda boleh buat tali sawat langkau, batal dan guna semula kerja.

      Nak tahu lebih (pilihan)

      Jangan batalkan deploy separuh jalan: cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jaga main. Penapis laluan tak disemak untuk push tag. Cache yang lama tak diguna akan dipadam.

      Latihan sebenar (pilihan), dalam repo latihan awam:

      Misi sebenar

      0 daripada 3 langkah siap · Tanda anda disimpan.