EN: Read in English
Dunia C3: Lancar & Deploy
Smoke test dan rollback automatik
Anda akan belajar: cara rasa deploy dengan segera, dan biar pipeline undur deploy yang teruk dengan sendiri.
Teks BM belum disemak oleh penutur asli.
Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026
Masalahnya
Deploy jadi hijau. Laman live tunjuk halaman ralat. Stesen mana akan hentikan talian ini? Tekan satu, kemudian Run.
Stesen mana akan hentikan tali sawat? Tekan stesen itu, kemudian Run.
Fail workflow .github/workflows/deploy.yml
name: Deploy on: push: branches: [main] permissions: contents: read jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci - run: npm run deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - run: curl --silent https://shop.example.com/health
Tali sawat
Push ke main · main
Petunjuk
Tengok baris curl betul-betul. Apa jadi bila ia dapat halaman ralat?Tengok
smoke test: Rasa sekejap sejurus selepas deploy: halaman boleh dibuka, /health kata ok? (rasa sekejap) ialah satu rasa pantas sejurus selepas deploy. Bukan seluruh menu, satu sudu. Smoke test yang bagus, atau tidak?
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Tanya /health dan jangka 200 OK.
Cuba
Baiki semakan dari kad pertama. Bina arahan curl yang gagal bila dapat halaman ralat.
Ketik kepingan ikut turutan yang betul.
Petunjuk
curl, kemudian –fail, kemudian –silent, kemudian alamatnya.Tengok
Tambah job rollback: Kembali ke versi elok yang terakhir, macam hidang semula masakan semalam yang sedap.: ia jalan hanya if: failure(). Di sini smoke test canary jumpa ralat. Stesen mana hentikan talian? Tekan, kemudian Run.
Stesen mana akan hentikan tali sawat? Tekan stesen itu, kemudian Run.
Fail workflow .github/workflows/release.yml
name: Release on: push: tags: ['v*'] workflow_dispatch: permissions: contents: read jobs: canary: runs-on: ubuntu-latest environment: canary steps: - uses: actions/checkout@v7 - run: npm ci - run: npm run deploy -- --env canary env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - run: curl --fail --silent https://canary.example.com/health production: needs: canary runs-on: ubuntu-latest environment: name: production url: https://shop.example.com steps: - uses: actions/checkout@v7 - run: npm ci - run: npm run deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} rollback: needs: canary if: failure() runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci - run: npm run rollback env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
Tali sawat
Push tag v1.3.1 · v1.3.1
Petunjuk
Smoke test itu ada dalam job canary.Cuba
Bina sendiri: deploy, rasa, dan rollback bila gagal.
Tekan blok untuk tambah. Susun ikut urutan.
Blok
Workflow anda
Tekan satu blok di atas untuk mula.
Fail workflow .github/workflows/
name: Deploy
Apa yang berjalan
Belum ada apa untuk dijalankan.
Petunjuk
Job deploy dengan tiga langkahnya. Kemudian job rollback yang jalan hanya bila gagal.Teka
Minggu depan, smoke test lulus. Apa job rollback buat?
Pilih satu jawapan.
Anda berjaya!
Kini anda boleh tangkap deploy yang teruk dan undurkannya secara automatik.
Nak tahu lebih (pilihan)
wrangler rollback tukar kod, bukan data. Pangkalan data dan binding lain kekal. Gandingkan dengan expand dan contract. Mahu rasa sebelum ada pengguna? Deploy versi pada 0%, kemudian panggilnya dengan header Cloudflare-Workers-Version-Overrides.
Latihan sebenar (pilihan): beri Worker ujian halaman /health dan semakan curl.
English
The deploy goes green. The live site shows an error page. Which station will stop this line? Tap one, then run.
A smoke test is one quick taste right after a deploy. Not the whole menu, one spoon. Good smoke tests, or not?
Fix the check from the first card. Build a curl that fails on an error page.
Add a rollback job: it runs only if: failure(). Here the canary’s smoke test meets an error. Which station stops the line? Tap, then run.
Build it yourself: deploy, taste, and roll back on failure.
Next week, the smoke test passes. What does the rollback job do?
You can now catch a bad deploy and undo it automatically.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: curl: --fail · Status check functions: failure() · Cloudflare: rollbacks · Cloudflare: version overrides
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?