GitHub Actions ile Otomatikleştirilmiş CI/CD Sürecinizi Kurun

GitHub Actions ile Otomatikleştirilmiş CI/CD Sürecinizi Kurun

GitHub Actions ile CI/CD süreçlerini nasıl otomatikleştirebileceğinizi adım adım öğrenin. Bu blog yazısında, GitHub Actions kurulumundan, iş akışı (workflow) dosyası yazımına kadar tüm detayları keşfedeceksiniz.

BFS

GitHub Actions, yazılım geliştirme süreçlerini otomatikleştiren harika bir araçtır. Bugün, GitHub Actions'ı nasıl kullanabileceğinizi adım adım keşfedeceğiz. Herkesin kod yazarken yaşadığı o sıkıcı ve zaman alıcı manuel işlemler, GitHub Actions ile artık tarih olacak. Peki, GitHub Actions nedir ve nasıl kullanılır? İşte size başlamak için bilmeniz gereken her şey.

GitHub Actions Nedir?



GitHub Actions, yazılım geliştirme sürecinizi otomatikleştirebilmenizi sağlayan, GitHub üzerinde entegre çalışan bir CI/CD aracıdır. Kodunuz üzerinde yaptığınız değişiklikleri test etmek, derlemek, dağıtım yapmak gibi işlemleri otomatikleştirerek zaman kazanmanızı sağlar. En güzel tarafı ise, GitHub üzerindeki reposu ile tam uyumlu çalışmasıdır. Bu, size en doğal entegrasyon deneyimini sunar.

CI/CD (Sürekli Entegrasyon ve Sürekli Dağıtım) terimleriyle sıkça karşılaşırsınız. GitHub Actions, CI/CD süreçlerini çok daha verimli hale getirir. Artık her seferinde manuel olarak testleri çalıştırmak zorunda kalmazsınız, her şey otomatik olarak devreye girer.

GitHub Actions Nasıl Kullanılır?



Başlamadan önce, GitHub hesabınızda bir depo oluşturmuş olmanız gerekir. Eğer bir projeniz yoksa, GitHub'a giriş yapın ve yeni bir repository oluşturun. Şimdi, GitHub Actions'ı kurmaya başlıyoruz.

1. Yeni Bir Workflow (İş Akışı) Oluşturma

GitHub Actions, çalışma akışları (workflows) adı verilen dosyalarla yönetilir. Her workflow, belirli bir amaca hizmet eder; örneğin testleri çalıştırmak, derlemek veya dağıtımı yapmak.

Depo sayfanıza gidin ve sağ üst köşede bulunan "Actions" sekmesine tıklayın. Buradan, GitHub'ın sunduğu hazır şablonlardan birini seçebilir veya sıfırdan bir workflow dosyası oluşturabilirsiniz.

2. Workflow Dosyasını Yazma

GitHub Actions workflow dosyaları, YAML formatında yazılır. Bu dosya, hangi adımların (steps) hangi sırayla yapılacağını belirler. Aşağıda basit bir workflow örneği yer alıyor:


name: Node.js CI

on:
  push:
    branches: 
      - main
  pull_request:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Check out repository
        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 örnek, bir Node.js projesinde testlerin çalıştırılmasını sağlar. İş akışı, `main` dalına yapılan her `push` ve `pull_request` olayında tetiklenir.

Workflow Çalıştırma ve Sonuçları Görüntüleme



Workflow dosyasını oluşturduktan sonra, bu dosyadaki adımların çalışması için bir tetikleyici belirlemeniz gerekiyor. Örneğin, bir `push` işlemi gerçekleştiğinde, GitHub Actions tetiklenir ve belirttiğiniz adımlar sırasıyla çalıştırılır.

Workflow'larınızı çalıştırmak için depoyu `push` edebilirsiniz. GitHub Actions otomatik olarak bu işlemi algılar ve süreci başlatır. Çalışmaların durumunu görmek için, repository'nizin "Actions" sekmesine giderek her bir job'un başarı durumunu takip edebilirsiniz.

GitHub Actions ile CI/CD Sürecini Optimize Etmek



GitHub Actions ile workflow'larınızı daha da özelleştirebilirsiniz. Örneğin, belirli testlerin sadece belirli dosyalar değiştiğinde çalışmasını sağlayabilirsiniz. Ayrıca, deploy işlemleri için de bir iş akışı tanımlayabilirsiniz.

Örnek olarak, projenizin her yeni sürümünü otomatik olarak bir sunucuya dağıtmak için şu adımları izleyebilirsiniz:


name: Deploy to Production

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Deploy to server
        run: |
          scp -r ./build user@server:/path/to/deploy


Bu workflow, her `main` dalına yapılan `push` işleminde otomatik olarak sunucuya dağıtım yapacaktır. Böylece, üretim ortamına manuel müdahale gerekmeden kod dağıtımı yapılmış olur.

GitHub Actions'ın Güçlü Yönleri



GitHub Actions'ın sunduğu bir dizi avantaj vardır:

- Otomatikleştirme: Her şey otomatik hale gelir. Testler, derleme işlemleri ve dağıtımlar hiçbir manuel müdahale olmadan çalışır.
- Entegre Yapı: GitHub üzerinde doğrudan çalışır. Böylece başka bir araca gerek kalmadan tüm işlemleri burada halledebilirsiniz.
- Esneklik: Farklı ortamlar ve programlama dilleri için destek sağlar. İster Python, ister JavaScript kullanın, her şey GitHub Actions ile mümkün.
- Ölçeklenebilirlik: Küçük projelerden büyük kurumsal yazılımlara kadar her türlü projeye uygun çözümler sunar.

Sonuç



GitHub Actions, yazılım geliştirme süreçlerinizi hızlandırır ve otomatikleştirir. Artık her gün tekrar ettiğiniz test, derleme ve dağıtım işlemleri sizin yerinize GitHub tarafından yapılacak. Böylece zamandan tasarruf edebilir ve hata oranlarını en aza indirebilirsiniz.

GitHub Actions ile otomasyon dünyasına adım attığınızda, yazılım geliştirme sürecinizin ne kadar verimli hale geldiğini göreceksiniz. Hadi, denemeye başlayın ve bu harika aracın gücünden faydalanın!

İ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ı...