0Pricing
React Academy · Ders

React için GitHub Actions CI/CD

Her push işleminde GitHub Actions iş akışında lint, test, derleme ve dağıtım adımlarını otomatikleştirin.

React için GitHub Actions CI/CD, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

GitHub Actions Nedir

GitHub Actions, GitHub'a yerleşik bir sürekli tümleştirme/sürekli teslimat platformudur. .github/workflows/ altındaki YAML dosyalarında, kod gönderme, çekme isteği veya zamanlama olaylarında çalışacak iş akışlarını tanımlayın.

Temel Sürekli Tümleştirme İş Akışı

Her kod gönderiminde ve çekme isteğinde bağımlılıkları yükleyen, kod kalite denetimi yapan ve testleri çalıştıran minimal bir iş akışı.

# .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'i Önbelleğe Alma

Bağımlılık yüklemesini hızlandırmak için ~/.npm önbelleğini (node_modules değil, npm önbelleğini) önbelleğe alın. actions/setup-node bunu cache seçeneğiyle yönetir.

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

Derleme Adımı

Projenin hatasız derlendiğini doğrulamak için testlerden sonra bir derleme adımı ekleyin.

- name: Build
  run: npm run build

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

Birleştirme Sonrasında Vercel'e Dağıtım

İş akışındaki Vercel CLI'yi kullanarak main dalına yapılan kod gönderimlerinde dağıtım yapın.

- 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

Birleştirme Sonrasında S3'e Dağıtım

main dalında başarılı bir derlemeden sonra derleme çıktısını S3 ile eşitleyin ve CloudFront önbelleğini geçersiz kılın.

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

Sürekli Tümleştirmede Playwright E2E Testleri

Derlemeden sonra sürekli tümleştirmede Playwright E2E testlerini çalıştırın. Tarayıcı ikililerini özel bir adımla yükleyin.

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

Paralel Matris İşleri

Testleri birden fazla Node.js sürümünde veya ortamında paralel çalıştırmak için matris stratejisi kullanın.

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

Gizli Bilgilerin Yönetimi

Hassas değerleri (API anahtarları, dağıtım belirteçleri) GitHub Gizli Bilgileri olarak depolayın (depo → Ayarlar → Gizli Bilgiler). İş akışlarında bunlara ${{ secrets.MY_SECRET }} olarak erişin.

Koşullu Adımlar

Adımları yalnızca belirli dallarda, çekme isteği olaylarında veya önceki adımlar başarılı olduktan sonra çalıştırmak için if: koşullarını kullanın.

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

Durum Rozetleri

Sürekli tümleştirme durumunu bir bakışta göstermek için README'nize bir derleme durumu rozeti ekleyin.

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

Hızlı Kontrol

Aynı işi birden fazla yapılandırmada (ör. farklı Node.js sürümlerinde) eşzamanlı olarak çalıştıran GitHub Actions özelliği hangisidir?

Özet

Sürekli tümleştirme iş akışlarını .github/workflows/ YAML dosyalarında tanımlayın. Hızlı yüklemeler için actions/setup-node ile cache: 'npm' kullanın. Kod kalite denetimi, tür denetimi, test ve derleme adımları ekleyin. main dalına yapılan kod gönderimlerinde koşullu dağıtım yapın. Gizli bilgileri GitHub Gizli Bilgileri'nde saklayın ve farklı sürümlerde test için matris derlemeleri kullanın.

Sıkça Sorulan Sorular

“React için GitHub Actions CI/CD” dersi ücretsiz mi?

Evet — “React için GitHub Actions CI/CD” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“React için GitHub Actions CI/CD” dersinde ne öğreneceğim?

Her push işleminde GitHub Actions iş akışında lint, test, derleme ve dağıtım adımlarını otomatikleştirin. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“React için GitHub Actions CI/CD” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Vercel'e Dağıtım: Sıfır Yapılandırma ve Önizleme URL'leri
  2. AWS S3 ve CloudFront'ta React SPA Barındırma
  3. React/Next.js Uygulamasını Docker'laştırma
  4. React için GitHub Actions CI/CD
← React Academy Sayfasına Dön