React Academy · Les

GitHub Actions CI/CD voor React

Automatiseer lint-, test-, build- en deploystappen in een GitHub Actions-workflow bij elke push.

Les 4 van 413 stappen

GitHub Actions CI/CD voor React is een gratis React Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject React Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus React Academy bevat in totaal 4 lessen.

Wat is GitHub Actions?

GitHub Actions is een CI/CD-platform dat in GitHub is ingebouwd. Definieer werkstromen in YAML-bestanden onder .github/workflows/ die worden uitgevoerd bij push-, pullrequest- of geplande gebeurtenissen.

Basis-CI-werkstroom

Een minimale werkstroom die afhankelijkheden installeert, lintcontroles uitvoert en bij elke push en pullrequest tests uitvoert.

# .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 -- --coverage

node_modules cachen

Cache ~/.npm (de npm-cache, niet node_modules) om het installeren van afhankelijkheden te versnellen. actions/setup-node regelt dit met de optie cache.

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: 'npm' # caches ~/.npm based on package-lock.json hash

Bouwstap

Voeg na de tests een bouwstap toe om te controleren of het project zonder fouten compileert.

- name: Build
  run: npm run build

# For Next.js — catch TypeScript errors:
- name: Type Check
  run: npx tsc --noEmit

Implementeren naar Vercel na samenvoegen

Implementeer naar Vercel bij pushes naar main met de Vercel CLI in de werkstroom.

- 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_TOKEN

Implementeren naar S3 na samenvoegen

Synchroniseer de builduitvoer met S3 en maak de CloudFront-cache ongeldig na een geslaagde build op 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-tests in CI

Voer na het bouwen Playwright-E2E-tests uit in CI. Installeer de browserbinaries met een aparte stap.

- 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/

Parallelle matrix-taken

Gebruik een matrixstrategie om tests parallel uit te voeren voor meerdere Node.js-versies of omgevingen.

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 }}

Geheimen beheren

Sla gevoelige waarden (API-sleutels, implementatietokens) op als GitHub Secrets (repository → Instellingen → Geheimen). Gebruik ze in werkstromen als ${{ secrets.MY_SECRET }}.

Voorwaardelijke stappen

Gebruik if:-voorwaarden om stappen alleen uit te voeren voor specifieke branches, pullrequest-gebeurtenissen of nadat eerdere stappen zijn geslaagd.

- name: Deploy
  if: github.ref == 'refs/heads/main' && github.event_name == 'push'
  run: npm run deploy

Statusbadges

Voeg een buildstatusbadge toe aan je README om de CI-status in één oogopslag te tonen.

<!-- README.md -->
![CI](https://github.com/myorg/myrepo/actions/workflows/ci.yml/badge.svg)

Korte controle

Welke functie van GitHub Actions voert dezelfde taak gelijktijdig uit voor meerdere configuraties, zoals verschillende Node.js-versies?

Samenvatting

Definieer CI-werkstromen in YAML onder .github/workflows/. Gebruik actions/setup-node met cache: 'npm' voor snelle installaties. Voeg stappen toe voor lintcontrole, typecontrole, tests en bouwen. Implementeer voorwaardelijk bij pushes naar de main-branch. Bewaar geheimen in GitHub Secrets en gebruik matrix-builds om met meerdere versies te testen.

Gratis beginnen

Leer React met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
88
Lessen
324

Veelgestelde vragen

Is de les “GitHub Actions CI/CD voor React” gratis?

Ja — de volledige tekst van “GitHub Actions CI/CD voor React” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus React Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus React Academy bevat in totaal 4 lessen.

Wat leer ik in “GitHub Actions CI/CD voor React”?

Automatiseer lint-, test-, build- en deploystappen in een GitHub Actions-workflow bij elke push. Je oefent met React Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met React Academy te beginnen?

Ervaring vooraf is niet nodig. React Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “GitHub Actions CI/CD voor React”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over React Academy?

Ja. Elke les over React Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Deployen naar Vercel: zero-config en preview-URL's
  2. Een React-SPA hosten op AWS S3 en CloudFront
  3. Een React/Next.js-app containeriseren
  4. GitHub Actions CI/CD voor React
← Terug naar React Academy