EN: Read in English
Dunia C3: Lancar & Deploy
Misi capstone 3: Lancarkan
Anda akan belajar: beri Kedai Kancil staging, production, langkah canary dan job rollback, kemudian buktikan dengan release yang teruk.
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.
Tag v1.0.1: canary gagal smoke test, production dilangkau, dan rollback berjalan.
Fail workflow .github/workflows/release.yml
name: Release on: push: tags: ['v*'] permissions: contents: read jobs: canary: runs-on: ubuntu-latest environment: staging steps: - uses: actions/checkout@v7 - run: npm ci - run: npx wrangler deploy --env staging env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - run: curl --fail --silent "$STAGING_URL/health" env: STAGING_URL: ${{ vars.STAGING_URL }} production: needs: canary runs-on: ubuntu-latest environment: name: production url: ${{ vars.SITE_URL }} steps: - uses: actions/checkout@v7 - run: npm ci - run: npx wrangler deploy --env production env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} rollback: needs: canary if: failure() runs-on: ubuntu-latest environment: staging steps: - uses: actions/checkout@v7 - run: npm ci - run: npx wrangler rollback --env staging --message "Canary failed" env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
Tali sawat
Push tag v1.0.1 · v1.0.1
Misi 3: Lancarkan. Kedai Kancil dah uji dan build dirinya sendiri. Sekarang jadikan release selamat. Matlamat anda: release teruk yang ditangkap dan diundur oleh pipeline. Run untuk lihat matlamatnya.
Cuba
Langkah 1: dua dapur. Bahagian depan web kedai anda masuk ke pelan Workers percuma Cloudflare. Tambah ini dalam wrangler.jsonc:
"account_id": "YOUR_ACCOUNT_ID",
"env": { "staging": {}, "production": {} }Misi sebenar
gh api --method PUT "repos/{owner}/{repo}/environments/staging"gh api --method PUT "repos/{owner}/{repo}/environments/production"gh secret set CLOUDFLARE_API_TOKEN --env staginggh secret set CLOUDFLARE_API_TOKEN --env productiongh variable set STAGING_URL --body "https://kedai-kancil-staging.YOUR-SUBDOMAIN.workers.dev"
0 daripada 7 langkah siap · Tanda anda disimpan.
Cuba
Langkah 2: bina release.yml. Canary dulu. Production selepasnya, dengan kelulusan anda. Rollback hanya kalau canary gagal.
Tekan blok untuk tambah. Susun ikut urutan.
Blok
Workflow anda
Tekan satu blok di atas untuk mula.
Fail workflow .github/workflows/
name: Release
Apa yang berjalan
Belum ada apa untuk dijalankan.
Petunjuk
Tiga job, setiap satu dengan langkahnya: canary, kemudian production, kemudian rollback.Cuba
Langkah 3: hantar satu release yang elok, kemudian satu yang teruk dengan sengaja.
Misi sebenar
git add .github/workflows/release.yml && git commit -m "ci: add release workflow" && git pushgit tag v1.0.0 && git push origin v1.0.0git tag v1.0.1 && git push origin v1.0.1
0 daripada 7 langkah siap · Tanda anda disimpan.
Semak
Biar API awam GitHub sahkan. Taip nama pengguna anda, kemudian semak.
Semak di GitHub
- Repo Kedai Kancil anda awamBelum disemak
- Workflow berjalan sekurang-kurangnya 3 kaliBelum disemak
- Ada sekurang-kurangnya 2 tag releaseBelum disemak
Semak
API tak boleh tengok dalam larian. Semak yang ini sendiri.
Misi sebenar
0 daripada 4 langkah siap · Tanda anda disimpan.
Anda berjaya!
Kini anda boleh lancarkan Kedai Kancil dengan selamat, dengan butang undur.
Nak tahu lebih (pilihan)
Keselamatan: pelan Workers percuma dah cukup di sini. Containers untuk API perlukan Workers Paid. Tetapkan amaran bajet dulu. Guna token ujian dan padam bila selesai. Canary ini ialah salinan staging. Canary sebenar hantar sebahagian pengguna sebenar. Di Cloudflare, itu gradual deployment.
English
Mission 3: Release it. Kedai Kancil already tests and builds itself. Now make releasing safe. Your goal: a bad release, caught and rolled back by the pipeline. Run it to see the goal.
Step 1: two kitchens. Your shop’s web front end goes on Cloudflare’s free Workers plan. Add this to wrangler.jsonc:
"account_id": "YOUR_ACCOUNT_ID",
"env": { "staging": {}, "production": {} }
Step 2: build release.yml. Canary first. Production after it, with your approval. Rollback only if the canary fails.
Step 3: ship one good release, then one bad one on purpose.
Let GitHub’s public API confirm it. Type your username, then check.
The API can’t see inside a run. Check these yourself.
You can now release Kedai Kancil safely, with an undo button.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Cloudflare: Wrangler environments · Cloudflare: GitHub Actions · Deployments and environments · gh secret set
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?