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!