EN: Read in English
Dunia C1: Cara Fikir Pipeline
Bina sekali, naikkan melalui persekitaran
Anda akan belajar: kenapa build yang staging uji ialah build yang production dapat.
Teks BM belum disemak oleh penutur asli.
Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026
Masalahnya
Staging jalan dengan sempurna. Kemudian production rosak. Kod yang sama! Apa yang berubah?
Pilih satu jawapan.
Tengok
Ketik setiap titik pada garis masa.
Ketik setiap tempat. Setiap tempat aplikasi anda berjalan ialah environment (persekitaran) (environment): Tempat bernama untuk deploy, contohnya production, dengan rahsia dan peraturan sendiri. (persekitaran).
Cuba
Masak sekali dan tutup pek. Pek bertutup itu ialah artifact (artifak) (artifact): Fail yang larian workflow simpan, supaya anda boleh muat turun kemudian. (artifak). Susun perjalanannya.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Hantar artifact yang sama ke production
- Semak staging
- Deploy ke staging
- Build dan tutup artifact
Tengok
Pilih satu event. Tekan Run dan tengok tali sawat.
Fail workflow .github/workflows/promote.yml
name: Promote 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
Tekan Run. Build berlaku sekali sahaja. Staging dan production dapat pek yang sama. Memindahkan pek ke tempat seterusnya dipanggil promote: Pindahkan build yang sama, yang dah diuji, ke persekitaran seterusnya. Contohnya dari staging ke production. (naikkan).
Teka
Kenapa tak buat build baru khas untuk production?
Pilih satu jawapan.
Teka
Semakan kesihatan staging jumpa masalah.
Stesen mana akan hentikan tali sawat? Tekan stesen itu, kemudian Run.
Fail workflow .github/workflows/promote.yml
name: Promote 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
Tabiat baik, atau perlu dibaiki? Leret setiap satu.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Build sekali, kemudian deploy artifact yang sama ke semua tempat
Anda berjaya!
Kini anda boleh build sekali dan promote artifact yang sama.
Nak tahu lebih (pilihan)
Alamat web dan kunci berbeza ikut tempat. Ia masuk semasa deploy. Dalam GitHub, environment: pada job pilih secret dan peraturan tempat itu. Image container buat ini senang: satu image, banyak tempat (Dunia C2).
Latihan sebenar (pilihan): cari di mana repo anda build. Ada job deploy yang build lagi? Hantar build itu dengan actions/upload-artifact dan actions/download-artifact.
English
Staging worked perfectly. Then production broke. Same code! What changed?
Tap each place. Each place your app runs is an environment.
Cook once and seal the pack. That sealed pack is the artifact. Put its trip in order.
Press Run. The build happens once. Staging and production get the same pack. Moving it on is called promote.
Why not make a fresh build just for production?
Staging’s health check finds a problem.
Good habit, or needs work? Swipe each one.
You can now build once and promote the same artifact.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Store and share data with artifacts · Deployments and environments · Managing environments
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?