Peta dunia

 

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.

Apa yang berlaku di GitHub

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

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.

1 / 4

Tanya /health dan jangka 200 OK.

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.

…

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.

Apa yang berlaku di GitHub

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

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.

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.