EN: Read in English
Dunia C1: Cara Fikir Pipeline · Cabaran bos
Lukis talian
Anda akan belajar: cara reka pipeline yang sesuai untuk setiap pasukan.
Teks BM belum disemak oleh penutur asli.
Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026
Masalahnya
Ketik setiap titik pada garis masa.
Tiga pasukan minta pipeline daripada anda. Satu saiz tak muat semua. Ketik setiap pasukan untuk berkenalan.
Cuba
Pasukan 1, laman kuih Mak Siti. Stesen mana yang ia perlukan?
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Petunjuk
Tiada container, tiada pengurus. Simpan apa yang pasukan ini betul-betul perlukan.Cuba
Ini talian Mak Siti. Cuba event satu per satu. Cari yang buat van terus parkir.
Cuba event satu per satu. Cari yang diminta.
Fail workflow .github/workflows/site.yml
name: Kuih site on: push: branches: [main] pull_request: permissions: contents: read jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci && npm run lint && npm test deploy: needs: test if: github.event_name == 'push' runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci && npm run build - run: npm run deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
Tali sawat
Push ke main · main
Petunjuk
Cuba pull request. Tengok stesen deploy.Cuba
Pasukan 2, API Kedai Kancil. Susun stesen mereka ikut urutan.
Stesen pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Lint kod
- Jalankan ujian
- Build image
- Publish ke GHCR
- Deploy
- Scan image
Petunjuk
Semak kod, masak image, semak image, baru hantar.Teka
Seseorang rosakkan Dockerfile API.
Stesen mana akan hentikan tali sawat? Tekan stesen itu, kemudian Run.
Fail workflow .github/workflows/api.yml
name: API 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 api:${{ github.sha }} . - name: Scan the image uses: aquasecurity/trivy-action@v0.36.0 with: image-ref: api:${{ 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 api:${{ github.sha }} ghcr.io/kancil/api:${{ github.sha }} docker push ghcr.io/kancil/api:${{ 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
Petunjuk
Dockerfile ialah resepi image. Stesen mana yang masak image?Teka
Pasukan 3, Klinik Ceria. Mereka mahu staging, kemudian production selepas pengurus kata jalan. Reka bentuk mana yang sesuai?
Pilih satu jawapan.
Cuba
Run talian Klinik Ceria. Bila production menunggu, luluskan bagi pihak pengurus, Dr Lim.
Run dahulu. Bila job menunggu anda, semak dan luluskan.
Fail workflow .github/workflows/release.yml
name: Clinic release on: push: branches: [main] permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci && npm test && npm run build - uses: actions/upload-artifact@v7 with: name: site path: dist staging: needs: build runs-on: ubuntu-latest environment: staging steps: - uses: actions/checkout@v7 - uses: actions/download-artifact@v8 with: name: site path: dist - run: npx wrangler deploy --env staging env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - run: curl --fail --silent https://staging.example.com/health production: needs: staging runs-on: ubuntu-latest environment: production steps: - uses: actions/checkout@v7 - uses: actions/download-artifact@v8 with: name: site path: dist - run: npx wrangler deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
Tali sawat
Push ke main · main
Semak
Reka bentuk yang baik, atau perlu dibaiki? Leret setiap satu.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Beri setiap pasukan enam stesen yang sama, sentiasa
Anda berjaya!
Kini anda boleh reka pipeline yang sesuai dengan pasukan.
English
Three teams ask you for a pipeline. One size won’t fit all. Tap each team to meet them.
Team 1, Mak Siti’s kuih site. Which stations does it need?
Here is Mak Siti’s line. Try the events. Find the one where the van stays parked.
Team 2, the Kedai Kancil API. Put their stations in order.
Someone broke the API’s Dockerfile.
Team 3, Klinik Ceria. They want staging, then production after a manager says go. Which design fits?
Run Klinik Ceria’s line. When production waits, approve it for the manager, Dr Lim.
Good design, or needs work? Swipe each one.
You can now design a pipeline that fits the team.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Continuous deployment · Deployments and environments · DORA: software delivery performance metrics
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?