GitHub Actions Nedir ve Neden Kullanılır?
Bir yazılım geliştiricisi olarak, her değişiklikten sonra kodunuzun doğru çalışıp çalışmadığını hızla test etmenin ne kadar önemli olduğunu çok iyi bilirsiniz. Her gün projelerinizde yeni özellikler eklerken ya da hata düzeltmeleri yaparken, kodunuzu her defasında manuel olarak test etmek zaman kaybı olabilir. İşte tam bu noktada, GitHub Actions devreye giriyor! GitHub Actions, sürekli entegrasyon (CI) ve sürekli dağıtım (CD) süreçlerini otomatikleştirmenize yardımcı olur.
GitHub Actions Nasıl Çalışır?
GitHub Actions, temel olarak GitHub depolarınızda çalışacak otomatik iş akışları oluşturmanıza olanak tanır. Bu iş akışları, belirli tetikleyicilerle başlatılır. Örneğin, bir pull request oluşturulduğunda, bir branch'e commit yapıldığında veya bir release yapıldığında bu iş akışları tetiklenebilir.
GitHub Actions ile neler yapabileceğinizi hiç merak ettiniz mi? İşte birkaç örnek:
- Testler: Kodunuzun her değişiklikle birlikte düzgün çalıştığını kontrol etmek için testler çalıştırabilirsiniz.
- Yapı Derlemeleri: Yazılımın derlenmesi ve dağıtımı için iş akışları oluşturabilirsiniz.
- Dağıtım: Kodunuz başarılı bir şekilde test edilip derlendikten sonra, otomatik olarak sunucularınıza dağıtım yapabilirsiniz.
Adım Adım GitHub Actions Kullanmak
Artık GitHub Actions'ın ne olduğunu öğrendik, hadi nasıl kullanabileceğimizi keşfetmeye başlayalım.
1. GitHub Deposu Oluşturun veya Var Olanı Kullanın
GitHub Actions kullanmaya başlamak için bir GitHub deposuna sahip olmanız gerekiyor. Eğer zaten bir projeniz varsa, bu projeyi kullanabilirsiniz. Eğer yoksa, yeni bir repository oluşturabilirsiniz.
2. GitHub Actions'ı Etkinleştirme
GitHub Actions, depolarınızda varsayılan olarak etkin değildir. GitHub üzerinde depolarınıza girip, "Actions" sekmesine tıklayarak Actions sayfasına gidin. Burada, "New Workflow" butonuna tıklayarak yeni bir iş akışı oluşturabilirsiniz.
3. YAML Dosyasını Düzenleyin
GitHub Actions ile iş akışları, YAML formatında yazılır. Bu, iş akışlarınızı yazarken ne yapılacağını ve hangi koşullarda yapılacağını belirlemenize olanak tanır. Şimdi size bir örnek göstereceğim:
name: CI/CD Workflow
on:
push:
branches:
- main
jobs:
build:
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
- name: Build project
run: npm run build
- name: Deploy to production
run: ./deploy.sh
Bu YAML dosyası, "main" branch'ine her push yapıldığında tetiklenecek bir iş akışını tanımlar. Bu iş akışında, önce kodunuzu çeker, ardından Node.js ortamını kurar, bağımlılıkları yükler, testleri çalıştırır, projeyi derler ve son olarak dağıtım scriptini çalıştırır.
4. YAML Dosyasını Commit Etme
YAML dosyasını oluşturduktan sonra, bu dosyayı GitHub depo dizininde `.github/workflows/` klasörüne kaydetmeniz gerekiyor. Bu adımı tamamladığınızda, commit ve push işlemi yaparak iş akışınızı GitHub'a gönderin.
5. Sonuçları İzleme
GitHub Actions, iş akışlarınızın her bir adımının durumunu takip etmenizi sağlar. İş akışınız çalıştığında, GitHub Actions sekmesinden ilerleyişi görebilir ve her bir adımda ne olduğuna dair detaylı loglara ulaşabilirsiniz.
GitHub Actions İle Daha İleri Seviye Özellikler
GitHub Actions sadece basit iş akışlarını değil, aynı zamanda daha karmaşık süreçleri de yönetebilir. Örneğin, testlerinizi paralel olarak çalıştırabilir, iş akışlarını farklı ortamlarda (örneğin, Windows, macOS, Ubuntu) çalıştırabilir ve dış API'lerle etkileşimde bulunabilirsiniz.
Ayrıca, GitHub Actions'a özel aksiyonlar da kullanabilirsiniz. GitHub, geliştiricilerin daha hızlı iş akışları oluşturabilmesi için birçok hazır aksiyon sunmaktadır. Bu aksiyonlar, popüler yazılım paketlerini yüklemekten, bulut ortamlarına dağıtım yapmaya kadar çok geniş bir yelpazeye yayılmaktadır.
Sonuç: GitHub Actions ile Verimliliğinizi Artırın
GitHub Actions, yazılım geliştirme süreçlerinizi çok daha verimli hale getirebilir. Sürekli entegrasyon ve dağıtım süreçlerinizi otomatikleştirerek, her değişiklik sonrası manuel testler yapma zahmetinden kurtulabilirsiniz. Her adımın kaydını tutarak, hata ayıklama sürecini de hızlandırabilirsiniz.
Şimdi GitHub Actions'ı kullanmaya başlamak için hazırsınız! İş akışlarınızı özelleştirin, projelerinizi hızlandırın ve hataları hızlıca tespit edin. GitHub Actions ile yazılım geliştirme dünyasında bir adım öne çıkabilirsiniz.