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.
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
Petunjuk
Semakan cepat dulu. Tiada apa dihantar sebelum disemak.Tengok
Pilih satu event. Tekan Run dan tengok tali sawat.
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.
Petunjuk
Bersedia dulu: ambil kod, kemudian pasang. Lepas tu lint, test, build.Teka
Kali ini image ada bahan buruk.
Stesen mana akan hentikan tali sawat? Tekan stesen itu, kemudian Run.
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.
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.
English
This line ships first and tastes last. Press Run. The test fails, but the bug is already live. Ouch!
Tap each station. Each one is a stage. Cheap checks come first. The van leaves last.
Put the stations in order. The first station goes at the top.
Here is the whole line in one job. Press Run and watch every station turn green. Tap any station to read its log.
Your turn. Build a line that stops after build.
This time, the image has a bad ingredient.
Good line, or needs work? Swipe each one.
You can now name the six stations and put them in order.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Workflow syntax: jobs and needs · Continuous integration
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?