GitHub Actions ile Otomatik Deploy: Adım Adım Rehber

GitHub Actions ile Otomatik Deploy: Adım Adım Rehber

Yayınlanma Tarihi: 21 Temmuz 2025

🚀 GitHub Actions ile Otomatik Deploy: Adım Adım Rehber

GitHub Actions ile Otomatik Deploy, modern yazılım geliştirme süreçlerinde otomasyonun gücünü keşfetmek isteyenler için etkili bir çözümdür. Bu rehberde, GitHub Actions kullanarak bir projeyi sunucuya veya bulut ortamına otomatik dağıtmanın tüm adımlarını ele alacağız.

📌 İçindekiler

  • Giriş
  • Neden GitHub Actions?
  • Adım 1: Repoyu Hazırlama
  • Adım 2: Workflow Dosyası Oluşturma
  • Adım 3: Ortam Değişkenleri ve Gizlilik
  • Adım 4: Deploy Aşaması
  • Adım 5: Test ve Yayınlama
  • En İyi Uygulamalar
  • SEO İpuçları
  • Sonuç

🔍 Giriş

CI/CD (Continuous Integration / Continuous Deployment) süreçleri, kodun sürekli entegrasyonu ve dağıtımı için vazgeçilmez hale gelmiştir. GitHub Actions, bu süreci GitHub üzerinden otomatikleştirmenizi sağlar.

❓ Neden GitHub Actions?

  • Entegre Çözüm: Ek araç gerekmeden GitHub içinde yönetim
  • Esneklik: Container, script veya resmi action’lar ile genişletilebilirlik
  • Ücretsiz Plan: Açık kaynak için limitsiz, özel repolar için sınırlı kullanım
  • Topluluk Desteği: Binlerce hazır action ve dökümantasyon

🛠️ Adım 1: Repoyu Hazırlama

  • Projenizi GitHub’a yükleyin
  • Deploy edilecek branch (örneğin main) belirleyin
  • Derleme ve test adımlarını yapılandırın (package.json, Makefile vs.)

📁 Adım 2: Workflow Dosyası Oluşturma

YAML Temelleri: Workflow dosyası .github/workflows klasöründe .yml uzantılı olmalıdır.

name: Otomatik Deploy
on:
  push:
    branches: [ main ]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Kurulum
        run: npm install
      - name: Test
        run: npm test
  

📦 Örnek Workflow

name: Deploy to Production
on:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Node.js Kurulum
        uses: actions/setup-node@v3
        with:
          node-version: '18'
      - name: Bağımlılıkları Yükle
        run: npm ci
      - name: Testleri Çalıştır
        run: npm test

  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: SSH ile Sunucuya Bağlan
        uses: appleboy/ssh-action@v0.1.6
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: ${{ secrets.SERVER_USER }}
          key: ${{ secrets.SERVER_SSH_KEY }}
          script: |
            cd /var/www/myapp
            git pull origin main
            npm install --production
            pm2 restart all
  

🔐 Adım 3: Ortam Değişkenleri ve Gizlilik

  • Settings → Secrets and variables → Actions sekmesine gidin
  • Örnek: SERVER_HOST, SERVER_USER, SERVER_SSH_KEY
  • ${{ secrets.VARIABLE_NAME }} formatında workflow içinde kullanın

🌐 Adım 4: Deploy Aşaması

🔗 SSH ile Sunucuya Bağlanma

appleboy/ssh-action gibi action’larla kolay bağlantı sağlayın

☁️ Bulut Sağlayıcılara Deploy

  • AWS: aws-actions/configure-aws-credentials
  • Azure: azure/webapps-deploy@v2
  • GCP: google-github-actions/deploy-cloudrun@v1

🧪 Adım 5: Test ve Yayınlama

  • Push sonrası workflow otomatik başlar
  • Actions sekmesinden log’ları kontrol edin
  • Başarılıysa canlı ortama dağıtım tamamlanır

📈 En İyi Uygulamalar

  • Atomic Commits: Her deploy ayrı commit’te olmalı
  • Rollback: Hatalar için geri alma mekanizması
  • Cache: actions/cache ile bağımlılıkları önbellekle
  • Paralel Job’lar: Test, lint, güvenlik ayrı job olarak çalışmalı

✅ Sonuç

GitHub Actions ile Otomatik Deploy rehberi sayesinde projelerinizi güvenli, hızlı ve hatasız bir şekilde yayınlayabilirsiniz. Süreci otomatize ederek zamandan tasarruf edebilir, geliştirme döngünüzü iyileştirebilirsiniz.

💬 Sizin Uygulamanız Nasıl?

Bu tarz daha fazla içerikten bilgi sahibi olmak için bültenimize üye olun.