Peta dunia

 

EN: Read in English

Dunia C1: Cara Fikir Pipeline

Stesen pada tali sawat

Anda akan belajar: enam stesen dalam pipeline, dan kenapa susunannya penting.

Teks BM belum disemak oleh penutur asli.

Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026

Masalahnya

Pilih satu event. Tekan Run dan tengok tali sawat.

Apa yang berlaku di GitHub

Fail workflow .github/workflows/oops.yml

name: Oops
on:
push:
branches: [main]
permissions:
contents: read
jobs:
line:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: npm ci
- run: npm run build
- run: npm run deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
- run: npm test

Tali sawat

Push ke main · main

Tali sawat ini hantar dulu, rasa kemudian. Tekan Run. Ujian gagal, tapi pepijat dah pun live. Aduh!

Tengok

Ketik setiap titik pada garis masa.

Ketik setiap stesen. Setiap satu ialah stage: Satu stesen pada tali sawat, contohnya lint, test, build, scan, publish atau deploy. (peringkat). Semakan murah datang dulu. Van keluar paling akhir.

Cuba

Susun stesen ikut urutan. Stesen pertama di atas.

Stesen pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.

  • Build
  • Lint
  • Scan
  • Test
  • Deploy
  • Publish

Tengok

Pilih satu event. Tekan Run dan tengok tali sawat.

Apa yang berlaku di GitHub

Fail workflow .github/workflows/shop.yml

name: Shop line
on:
push:
branches: [main]
permissions:
contents: read
packages: write
jobs:
line:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: npm ci
- run: npm run lint
- run: npm test
- run: docker build -t shop:${{ github.sha }} .
- name: Scan the image
uses: aquasecurity/trivy-action@v0.36.0
with:
image-ref: shop:${{ github.sha }}
severity: CRITICAL
exit-code: '1'
- name: Publish to GHCR
run: |
echo "$TOKEN" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin
docker tag shop:${{ github.sha }} ghcr.io/kancil/shop:${{ github.sha }}
docker push ghcr.io/kancil/shop:${{ github.sha }}
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: npm run deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}

Tali sawat

Push ke main · main

Ini seluruh tali sawat dalam satu job. Tekan Run dan tengok setiap stesen jadi hijau. Ketik mana-mana stesen untuk baca log.

Cuba

Giliran anda. Bina tali sawat yang berhenti selepas build.

Tekan blok untuk tambah. Susun ikut urutan.

Blok

Workflow anda

Tekan satu blok di atas untuk mula.

Fail workflow .github/workflows/

name: CI

Apa yang berjalan

Belum ada apa untuk dijalankan.

Teka

Kali ini image ada bahan buruk.

Stesen mana akan hentikan tali sawat? Tekan stesen itu, kemudian Run.

Apa yang berlaku di GitHub

Fail workflow .github/workflows/shop.yml

name: Shop line
on:
push:
branches: [main]
permissions:
contents: read
packages: write
jobs:
line:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: npm ci
- run: npm run lint
- run: npm test
- run: docker build -t shop:${{ github.sha }} .
- name: Scan the image
uses: aquasecurity/trivy-action@v0.36.0
with:
image-ref: shop:${{ github.sha }}
severity: CRITICAL
exit-code: '1'
- name: Publish to GHCR
run: |
echo "$TOKEN" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin
docker tag shop:${{ github.sha }} ghcr.io/kancil/shop:${{ github.sha }}
docker push ghcr.io/kancil/shop:${{ github.sha }}
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: npm run deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}

Tali sawat

Push ke main · main

Semak

Tali sawat yang baik, atau perlu dibaiki? Leret setiap satu.

Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

1 / 4

Lint sebelum ujian

Lint sebelum ujian

Anda berjaya!

Kini anda boleh namakan enam stesen dan susun ikut urutan.

Nak tahu lebih (pilihan)

Bukan setiap projek perlukan semua stesen. Laman statik yang kecil tiada image untuk di-scan atau di-publish. Stesen juga boleh jalan serentak. Job tanpa needs: mula pada masa yang sama. Job dengan needs: tunggu job yang disebut.

Latihan sebenar (pilihan): buka fail workflow anda sendiri. Tulis nama stesen di sebelah setiap step sebagai komen.