GitHub-Actions-CI/CD für React
Automatisieren Sie Lint-, Test-, Build- und Deployment-Schritte in einem GitHub-Actions-Workflow bei jedem Push.
GitHub-Actions-CI/CD für React ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist GitHub Actions?
GitHub Actions ist eine in GitHub integrierte CI/CD-Plattform. Definieren Sie Workflows in YAML-Dateien unter .github/workflows/, die bei Push-, Pull-Request- oder Zeitplan-Ereignissen ausgeführt werden.
Einfacher CI-Workflow
Ein minimaler Workflow, der bei jedem Push und Pull Request Abhängigkeiten installiert, Linting ausführt und Tests startet.
# .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 -- --coverageCaching von node_modules
Führen Sie einen Cache für ~/.npm (den npm-Cache, nicht node_modules), um die Installation von Abhängigkeiten zu beschleunigen. actions/setup-node übernimmt dies mit der Option cache.
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm' # caches ~/.npm based on package-lock.json hashBuild-Schritt
Fügen Sie nach den Tests einen Build-Schritt hinzu, um zu überprüfen, dass das Projekt fehlerfrei kompiliert wird.
- name: Build
run: npm run build
# For Next.js — catch TypeScript errors:
- name: Type Check
run: npx tsc --noEmitBei einem Merge nach Vercel deployen
Deployen Sie bei Pushes auf main mithilfe der Vercel CLI im Workflow nach Vercel.
- 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_TOKENBei einem Merge nach S3 deployen
Synchronisieren Sie die Build-Ausgabe mit S3 und invalidieren Sie CloudFront nach einem erfolgreichen Build auf 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 in CI
Führen Sie nach dem Build Playwright-E2E-Tests in CI aus. Installieren Sie die Browser-Binärdateien mit einem eigenen Schritt.
- 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/Parallele Matrix-Jobs
Verwenden Sie eine Matrix-Strategie, um Tests parallel mit mehreren Node.js-Versionen oder in mehreren Umgebungen auszuführen.
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 }}Verwaltung von Secrets
Speichern Sie vertrauliche Werte (API-Schlüssel, Deployment-Tokens) als GitHub Secrets (Repository → Settings → Secrets). Greifen Sie in Workflows über ${{ secrets.MY_SECRET }} darauf zu.
Bedingte Schritte
Verwenden Sie if:-Bedingungen, um Schritte nur für bestimmte Branches, Pull-Request-Ereignisse oder nach erfolgreichem Abschluss vorheriger Schritte auszuführen.
- name: Deploy
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
run: npm run deployStatus-Badges
Fügen Sie Ihrer README ein Build-Status-Badge hinzu, um den CI-Status auf einen Blick anzuzeigen.
<!-- README.md -->
Kurzer Check
Welche Funktion von GitHub Actions führt denselben Job gleichzeitig mit mehreren Konfigurationen (z. B. verschiedenen Node.js-Versionen) aus?
Zusammenfassung
Definieren Sie CI-Workflows als YAML unter .github/workflows/. Verwenden Sie actions/setup-node mit cache: 'npm' für schnelle Installationen. Fügen Sie Schritte für Linting, Typprüfung, Tests und den Build hinzu. Deployen Sie bedingt bei Pushes auf den main-Branch. Speichern Sie Secrets in GitHub Secrets und verwenden Sie Matrix-Builds für Tests mit mehreren Versionen.
Häufig gestellte Fragen
Ist die Lektion „GitHub-Actions-CI/CD für React“ kostenlos?
Ja — der vollständige Text von „GitHub-Actions-CI/CD für React“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „GitHub-Actions-CI/CD für React“?
Automatisieren Sie Lint-, Test-, Build- und Deployment-Schritte in einem GitHub-Actions-Workflow bei jedem Push. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um React Academy zu starten?
Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „GitHub-Actions-CI/CD für React“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?
Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Deployment auf Vercel: Zero Config und Preview-URLs
- Eine React-SPA auf AWS S3 und CloudFront hosten
- Eine React-/Next.js-App in Docker ausführen
- GitHub-Actions-CI/CD für React