GitHub Actions Nasıl Kullanılır? Adım Adım Rehber

GitHub Actions Nasıl Kullanılır? Adım Adım Rehber

GitHub Actions ile sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerinizi nasıl otomatikleştirebileceğinizi ve yazılım geliştirme sürecinde nasıl verimlilik sağlayabileceğinizi adım adım keşfedin.

Al_Yapay_Zeka

GitHub, yazılım dünyasında bir devrim yaratmış bir platform. Her gün milyonlarca geliştirici, projelerini bu platformda paylaşıyor, güncelliyor ve birbirleriyle işbirliği yapıyor. Ancak GitHub, sadece kod depolama ve sürüm kontrolü ile sınırlı değil! Bugün sizlere GitHub Actions’tan bahsedeceğim. Eğer kodunuzun otomatik olarak test edilmesini, dağıtılmasını ve daha pek çok işlemi otomatik hale getirmesini istiyorsanız, doğru yerdesiniz!

GitHub Actions’a Hoş Geldiniz

GitHub Actions, yazılım geliştirme sürecinde birçok işlemi otomatikleştiren harika bir araçtır. Bu araç, “CI/CD” (Sürekli Entegrasyon ve Sürekli Dağıtım) süreçlerini kolaylaştırarak, zaman kazanmanızı sağlar ve işlerinizi hızlandırır. Peki, GitHub Actions ile neler yapabilirsiniz?

- Otomatik testler: Kodunuzu her değiştirdiğinizde testler çalıştırabilirsiniz.
- Sürekli dağıtım: Kodunuzun her yeni versiyonunu anında sunucuya dağıtabilirsiniz.
- Build işlemleri: Uygulamanızın derleme işlemlerini otomatikleştirebilirsiniz.

Adım 1: GitHub Actions ile İlk Workflow'u Oluşturma

GitHub Actions'ı kullanmaya başlamak çok kolay. GitHub hesabınıza giriş yapın ve bir proje seçin. Ardından, proje depolarınızın içinde `.github/workflows` isimli bir klasör oluşturun. İçinde bir `yaml` dosyası olacak ve işte ilk otomasyon iş akışınızı bu dosya ile tanımlayacağız.

Aşağıdaki örneği inceleyelim:


name: Node.js CI

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

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout 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


Burada ne yapıyoruz?

- on: Hangi olayda bu workflow’un çalışacağını belirtiyoruz. Mesela, `push` veya `pull_request` olayları.
- jobs: Yapmak istediğimiz işlemleri iş akışına ekliyoruz. Her job, belirli bir işlem gerçekleştirecek. Örneğin, kodu kontrol et, Node.js'i kur, bağımlılıkları yükle, testleri çalıştır.

Adım 2: GitHub Actions Workflow’unu Çalıştırmak

Yukarıdaki `yaml` dosyasını projenize ekledikten sonra, artık GitHub Actions’ı kullanmaya başlayabilirsiniz. GitHub, her push veya pull request yaptığınızda workflow’unuzu çalıştıracaktır. Başka bir deyişle, her kod değişikliğinde testleriniz otomatik olarak çalıştırılır.

Adım 3: Sonuçları İzlemek

GitHub Actions ile oluşturduğunuz workflow’lar, GitHub arayüzünde çok şık bir şekilde görselleştirilir. Yapmanız gereken tek şey, projenizin Actions sekmesine gitmek. Burada, her workflow’un durumunu, hangi adımların başarılı olduğunu ve hangi adımların başarısız olduğunu görebilirsiniz. Eğer bir test başarısız olursa, hemen hata mesajlarını inceleyebilir ve düzeltmeler yapabilirsiniz.

Adım 4: Daha Karmaşık İhtiyaçlar İçin Gelişmiş Konfigürasyonlar

GitHub Actions, sadece basit iş akışları oluşturmanıza olanak sağlamaz. Daha karmaşık senaryolar için çeşitli imkanlar sunar. Örneğin, birden fazla job çalıştırabilir, job’lar arasında bağımlılıklar oluşturabilir veya farklı ortamlar için farklı işlemler tanımlayabilirsiniz.

Örneğin, hem Node.js hem de Python testlerini çalıştıran bir workflow yazalım:


name: Test Node.js and Python

on:
  push:
    branches:
      - main

jobs:
  node-test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout 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

  python-test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: '3.8'
      - name: Install dependencies
        run: pip install -r requirements.txt
      - name: Run tests
        run: pytest


Bu örnekte, hem Node.js hem de Python için ayrı job’lar tanımlıyoruz. GitHub Actions bu job’ları paralel olarak çalıştıracak ve her iki dildeki testlerinizi aynı anda çalıştıracaktır.

Adım 5: Workflow’ları Özelleştirme

GitHub Actions’ı kullanırken en güzel şeylerden biri de özelleştirme imkanıdır. Kendi aksiyonlarınızı yazabilir, başkalarının yazdığı aksiyonları kullanabilir veya aksiyonların koşullarını değiştirebilirsiniz.

Aşağıda örnek bir koşullu işlem gösterilmektedir:


jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Run tests only on main branch
        if: github.ref == 'refs/heads/main'
        run: npm test


Bu örnekte, testlerin sadece `main` dalında çalışmasını sağlıyoruz.

GitHub Actions ile Zaman Kazanın ve Hatalardan Kaçının

GitHub Actions ile yazılım geliştirme sürecini otomatikleştirmek, projelerinizdeki hataları minimize eder ve süreci hızlandırır. Otomasyon, zaman kazandırır, ekip içindeki işbirliğini artırır ve projelerinizi daha profesyonel hale getirir. Bu yüzden GitHub Actions’ı bir kez denedikten sonra, projenizin her adımını otomatik hale getirmek isteyeceksiniz.

Unutmayın, GitHub Actions sayesinde her zaman doğru kodu doğru zamanda deploy edebilirsiniz.

İlgili Yazılar

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

C'de Segmentation Fault: Sebepleri, Çözüm Yolları ve Önlemler

Segmentation Fault Nedir ve Neden Olur?C programlama diliyle uğraşan hemen hemen herkes bir noktada "Segmentation Fault" hatasıyla karşılaşmıştır. Bu, ilk bakışta karmaşık bir hata gibi görünebilir, ancak aslında oldukça yaygın ve anlaşılması kolaydır....

Yapay Zeka ile Yazılım Geliştirme Sürecini Nasıl Hızlandırabilirsiniz? 2025 Yılında Yazılımcılar İçin En İyi AI Araçları

Teknoloji dünyasında her geçen gün yeni bir devrim yaşanıyor ve bu devrimlerin başrolünde yapay zeka (AI) bulunuyor. 2025 yılına geldiğimizde, yapay zekanın yazılım geliştirme süreçlerine nasıl entegre olduğunu ve yazılımcılara nasıl büyük avantajlar...

Web Geliştiricilerin Sık Yaptığı 7 Hata ve Bu Hatalardan Nasıl Kaçınılır?

Web geliştiriciliği, görünmeyen dünyayı şekillendiren çok özel bir beceridir. Ancak, her geliştirici zaman zaman ufak tefek hatalar yapar. Bazen bu hatalar büyük projelere yansır ve proje sürecini uzatabilir, bazen de kullanıcı deneyimini olumsuz etkileyebilir....

Veri Görselleştirme Araçlarıyla Zihin Haritaları Yaratmanın Gücü: Web Geliştiriciler İçin İleri Seviye İpuçları

Veri görselleştirme, yazılım geliştirme dünyasında her geçen gün daha önemli hale geliyor. Bilgiyi görsel bir biçimde sunmak, karmaşık veri setlerinin anlaşılmasını kolaylaştırıyor. Ancak bu iş sadece grafiklerle sınırlı değil. Zihin haritaları gibi yaratıcı...

Yapay Zeka ile Kod Yazmanın Geleceği: AI Destekli Geliştirme Araçları ve Trendler

Yapay zeka (AI), son yıllarda hayatımızın her alanına girmeyi başardı. Özellikle teknoloji dünyasında, yazılım geliştirme alanında devrim niteliğinde değişiklikler yaşanıyor. Artık yazılımcılar, yeni projelere başlarken bir AI asistanına danışabiliyor,...

Karmaşık Sistemlerde Otomasyon: Kubernetes ve DevOps ile Mikroservis Mimarisi Nasıl Yönetilir?

**Bir yazılım geliştiricisi olarak, belki de en zorlandığınız anlardan biri karmaşık bir sistemin yönetilmesidir. Mikroservis mimarisi ile tanıştığınızda ise bu zorluk katbekat artar. Fakat, bu karmaşıklığı çözmenin bir yolu var: **Otomasyon**. Özellikle...