GitHub Actions ile Sürekli Entegrasyon ve Sürekli Dağıtım (CI/CD) Nasıl Yapılır?

GitHub Actions ile Sürekli Entegrasyon ve Sürekli Dağıtım (CI/CD) Nasıl Yapılır?

GitHub Actions ile sürekli entegrasyon ve sürekli dağıtım süreçlerini nasıl otomatikleştirebileceğinizi anlatan bir rehber.

BFS

GitHub Actions ile Tanışın: Yazılım Geliştirme Sürecinizi Otomatikleştirin



Eğer yazılım geliştirme dünyasında aktifseniz, muhtemelen CI/CD (Sürekli Entegrasyon ve Sürekli Dağıtım) terimlerini duymuşsunuzdur. Peki, GitHub Actions nedir ve nasıl kullanılır? İşte tam olarak bu yazıda, GitHub Actions’ı nasıl kullanmaya başlayacağınızı detaylı bir şekilde anlatacağız.

GitHub, yazılım geliştiren ekipler için mükemmel bir platform sunuyor. Ancak sadece kodu depolamakla kalmaz, aynı zamanda geliştirme sürecini de otomatize etmek için kullanabileceğiniz çok güçlü araçlar sağlar. Bunlardan biri de GitHub Actions’dır.

GitHub Actions, yazılım geliştirme süreçlerinizi, testlerinizi, derlemelerinizi ve dağıtımlarınızı otomatikleştirmenizi sağlayan bir araçtır. Yani, her yeni kod güncellemesi ile tüm süreçleri elle yapmak yerine, GitHub Actions ile bunu tamamen otomatize edebilirsiniz.

GitHub Actions ile İlk Adımınızı Atın



Eğer bir GitHub projesine sahipseniz, Actions sekmesini hemen keşfetmeye başlayabilirsiniz. Burada, iş akışlarınıza (workflow) göz atabilir ve otomatikleştirilmiş görevlerinizi tasarlamaya başlayabilirsiniz.

GitHub Actions kullanmak için, öncelikle bir workflow dosyası oluşturmanız gerekir. Bu dosya, GitHub Actions’a ne tür işlemler yapmasını istediğinizi belirler. Workflow dosyaları `.yml` uzantılıdır ve `.github/workflows` klasörüne yerleştirilir.

Örnek olarak, işte basit bir GitHub Actions workflow dosyası:

name: Build and Test

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@v2
      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '14'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: npm test


Bu basit dosya, her yeni push işlemi gerçekleştirdiğinizde otomatik olarak kodunuzu derler ve test eder. Bu sayede kodunuzun her zaman en güncel ve hatasız olduğundan emin olabilirsiniz.

GitHub Actions ile CI/CD Süreci



GitHub Actions, kodunuzun otomatik olarak test edilmesini, derlenmesini ve hatta sunucularınıza dağıtılmasını sağlar. Örneğin, yazılımınızı her yeni commit ile derleyip, testleri çalıştırabilir ve hata varsa bunu hemen fark edebilirsiniz.

Daha ileri seviye bir kullanımda, örneğin testlerinizi geçtikten sonra, kodunuzu otomatik olarak bir production ortamına dağıtabilirsiniz. Bunun için farklı platformlara dağıtım yapacak adımlar ekleyebilirsiniz.

Aşağıdaki örnekte, GitHub Actions ile otomatik bir deploy süreci nasıl yapılandırılır onu göstereceğiz:

name: Deploy to Production

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Set up SSH
        uses: appleboy/ssh-action@v0.1.0
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}
          port: ${{ secrets.PORT }}
          script: |
            cd /var/www/my-app
            git pull origin main
            npm install
            npm run build
            pm2 restart my-app


Yukarıdaki örnekte, `main` dalına yapılan her push işleminden sonra, uygulamanız otomatik olarak üretim ortamına dağıtılır. SSH ile sunucunuza bağlanarak kodu güncelliyor ve uygulamanız yeniden başlatılıyor.

GitHub Actions’ın Gücü



GitHub Actions, tüm bu işlemleri yaparken sadece yazılım geliştirme sürecini hızlandırmakla kalmaz, aynı zamanda hata yapma riskinizi de en aza indirir. Çünkü her şey otomatik bir şekilde gerçekleşir. Ayrıca, bu otomasyon sayesinde ekiplerinize daha fazla zaman kazandırırsınız. Artık testler ve dağıtımlar için saatler harcamanıza gerek yok!

Sonuç



GitHub Actions ile yazılım geliştirme sürecinizin her aşamasını otomatikleştirebilirsiniz. Otomasyon sayesinde hem hata oranlarını düşürür hem de daha verimli çalışabilirsiniz. Bu araç, GitHub üzerinde çalışan herkes için vazgeçilmez bir çözüm olabilir.

Hadi, GitHub Actions’ı keşfedin ve yazılım projelerinize hayat verin!

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

2025’te Web Sitesi Tasarımı: Yapay Zeka ve Otomasyonun Geleceği

2025 yılına adım atarken, teknolojinin her alanda hızla dönüşüm geçirdiğini görmek kaçınılmaz. Bu değişimlerin en çok etkilediği alanlardan biri ise hiç kuşkusuz web sitesi tasarımı. Web tasarımı sadece görsel estetikten ibaret olmaktan çok daha fazlası...