Peta dunia

 

EN: Read in English

Dunia C3: Lancar & Deploy

Persekitaran dengan penyemak wajib

Anda akan belajar: cara buat production tunggu seseorang kata ya.

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.

Tengah malam: push ke main diuji, kemudian terus deploy.

Apa yang berlaku di GitHub

Fail workflow .github/workflows/deploy.yml

name: Deploy
on:
push:
branches: [main]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: npm ci
- run: npm test
deploy:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: npm ci
- run: npm run deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}

Tali sawat

Push ke main · main

Tengah malam. Rakan sepasukan push ke main. Van terus bertolak. Tiada siapa rasa makanan itu. Run dan perhati.

Tengok

Beri production seorang pengawal. environment (persekitaran) (environment): Tempat bernama untuk deploy, contohnya production, dengan rahsia dan peraturan sendiri. (persekitaran) ialah tempat bernama untuk deploy, dengan peraturan sendiri. Yang mana peraturan environment?

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Cuba

      Production kini ada penyemak wajib (required reviewer): Orang yang mesti lulus dulu sebelum job deploy ke environment, macam ketua chef tandatangan sebelum van bertolak.: Aina. Run. Job deploy menunggu. Anda ialah Aina: semak, kemudian luluskan.

      Run dahulu. Bila job menunggu anda, semak dan luluskan.

      Apa yang berlaku di GitHub

      Fail workflow .github/workflows/deploy.yml

      name: Deploy
      on: push
      permissions:
      contents: read
      jobs:
      test:
      runs-on: ubuntu-latest
      steps:
      - uses: actions/checkout@v7
      - run: npm ci
      - run: npm test
      deploy:
      needs: test
      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 }}
      

      Tali sawat

      Push ke main · main

      Cuba

      Sekarang bina sendiri. Job masuk ke environment dengan satu kunci: environment.

      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

      Seseorang push ke branch feature. Production hanya benarkan main. Apa jadi pada job deploy?

      Pilih satu jawapan.

      Semak

      Semak pada tali sawat. Cari push yang ditahan pengawal. Baca mesej sebenar.

      Cuba event satu per satu. Cari yang diminta.

      Apa yang berlaku di GitHub

      Fail workflow .github/workflows/deploy.yml

      name: Deploy
      on: push
      permissions:
      contents: read
      jobs:
      test:
      runs-on: ubuntu-latest
      steps:
      - uses: actions/checkout@v7
      - run: npm ci
      - run: npm test
      deploy:
      needs: test
      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 }}
      

      Tali sawat

      Push ke main · main

      Anda berjaya!

      Kini anda boleh letak pintu manusia di depan production.

      Nak tahu lebih (pilihan)

      Sehingga enam orang atau pasukan boleh jadi penyemak. Satu kelulusan sudah cukup. Hidupkan “prevent self-review” supaya tiada siapa lulus deploy sendiri. Pemasa tunggu boleh tahan sehingga 30 hari. Untuk repo peribadi, penyemak wajib perlukan GitHub Enterprise.

      Latihan sebenar (pilihan): dalam repo ujian awam, buat environment production. Tambah diri anda sebagai penyemak.