CI/CD GitHub Actions untuk React
Otomatiskan langkah pemeriksaan gaya kode, pengujian, pembangunan, dan penerapan dalam alur kerja GitHub Actions setiap kali dilakukan push.
CI/CD GitHub Actions untuk React adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.
Apa Itu GitHub Actions?
GitHub Actions adalah platform CI/CD bawaan GitHub. Tentukan alur kerja dalam berkas YAML di bawah .github/workflows/ yang berjalan saat ada pengiriman, permintaan penggabungan, atau peristiwa terjadwal.
Alur Kerja CI Dasar
Alur kerja minimal yang memasang dependensi, menjalankan pemeriksaan lint, dan menjalankan pengujian setiap kali ada pengiriman atau permintaan penggabungan.
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- run: npm ci
- run: npm run lint
- run: npm test -- --coverageMenyimpan Cache node_modules
Simpan ~/.npm dalam cache (cache npm, bukan node_modules) untuk mempercepat pemasangan dependensi. actions/setup-node menangani hal ini dengan opsi cache.
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm' # caches ~/.npm based on package-lock.json hashLangkah Pembuatan
Tambahkan langkah pembuatan setelah pengujian untuk memastikan proyek dikompilasi tanpa kesalahan.
- name: Build
run: npm run build
# For Next.js — catch TypeScript errors:
- name: Type Check
run: npx tsc --noEmitMenerapkan ke Vercel saat Penggabungan
Terapkan ke Vercel saat perubahan dikirim ke main menggunakan CLI Vercel dalam alur kerja.
- name: Deploy to Vercel
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
run: |
npm install -g vercel
vercel pull --yes --environment=production --token=$VERCEL_TOKEN
vercel build --prod --token=$VERCEL_TOKEN
vercel deploy --prebuilt --prod --token=$VERCEL_TOKENMenerapkan ke S3 saat Penggabungan
Sinkronkan keluaran pembuatan ke S3 dan lakukan invalidasi CloudFront setelah pembuatan berhasil di main.
- name: Deploy to S3
if: github.ref == 'refs/heads/main'
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
aws s3 sync dist/ s3://my-bucket/ --delete
aws cloudfront create-invalidation --distribution-id ${{ secrets.CF_ID }} --paths "/*"Playwright E2E dalam CI
Jalankan pengujian E2E Playwright dalam CI setelah membangun. Pasang berkas biner peramban dengan langkah khusus.
- name: Install Playwright Browsers
run: npx playwright install --with-deps chromium
- name: Run E2E Tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report
path: playwright-report/Pekerjaan Matriks Paralel
Gunakan strategi matriks untuk menjalankan pengujian secara paralel pada beberapa versi Node.js atau lingkungan.
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}Pengelolaan Rahasia
Simpan nilai sensitif (kunci API, token penerapan) sebagai GitHub Secrets (repositori → Pengaturan → Rahasia). Akses nilai tersebut dalam alur kerja sebagai ${{ secrets.MY_SECRET }}.
Langkah Bersyarat
Gunakan kondisi if: untuk menjalankan langkah hanya pada cabang tertentu, peristiwa PR, atau setelah langkah sebelumnya berhasil.
- name: Deploy
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
run: npm run deployLencana Status
Tambahkan lencana status pembuatan ke README Anda untuk menampilkan status CI secara sekilas.
<!-- README.md -->
Cek Cepat
Fitur GitHub Actions apa yang menjalankan pekerjaan yang sama pada beberapa konfigurasi (misalnya, versi Node.js yang berbeda) secara bersamaan?
Ringkasan
Tentukan alur kerja CI dalam YAML .github/workflows/. Gunakan actions/setup-node dengan cache: 'npm' untuk pemasangan cepat. Tambahkan langkah pemeriksaan lint, pemeriksaan tipe, pengujian, dan pembuatan. Terapkan secara kondisional saat ada pengiriman ke cabang main. Simpan rahasia di GitHub Secrets dan gunakan pembuatan matriks untuk pengujian multi-versi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “CI/CD GitHub Actions untuk React” gratis?
Ya — teks lengkap “CI/CD GitHub Actions untuk React” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “CI/CD GitHub Actions untuk React”?
Otomatiskan langkah pemeriksaan gaya kode, pengujian, pembangunan, dan penerapan dalam alur kerja GitHub Actions setiap kali dilakukan push. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai React Academy?
Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “CI/CD GitHub Actions untuk React” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?
Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menerapkan ke Vercel: Tanpa Konfigurasi & URL Pratinjau
- Meng-host SPA React di AWS S3 & CloudFront
- Membuat Aplikasi React/Next.js dalam Docker
- CI/CD GitHub Actions untuk React