CI/CD İş Akışları Oluşturma
Gönderimler veya çekme istekleri üzerine kodunuzu otomatik olarak derlemek, test etmek ve dağıtmak için pratik CI/CD işlem hatları oluşturun.
CI/CD İş Akışları Oluşturma, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
CI/CD'ye Hoş Geldiniz
Bu derste GitHub Actions kullanarak güçlü Sürekli Tümleştirme (CI) ve Sürekli Dağıtım (CD) işlem hatları oluşturmayı öğreneceksiniz.
CI/CD, kod değişikliklerinden dağıtıma kadar yazılım geliştirme sürecinizi otomatikleştirerek süreci daha hızlı ve güvenilir hâle getirir.
CI/CD Neden Önemlidir
Otomasyon, modern yazılım geliştirmede neden bu kadar önemlidir?
- Daha Hızlı Geri Bildirim: Testleri otomatik olarak çalıştırarak hataları ve tümleştirme sorunlarını erken yakalayın.
- Tutarlı Derlemeler: Her derlemenin aynı adımları izlemesini sağlayarak "benim makinemde çalışıyor" sorunlarını azaltın.
- Güvenilir Sürümler: Yeni özellikleri veya düzeltmeleri daha az elle yapılan hatayla ve güvenle dağıtın.
- Geliştirilmiş İş Birliği: Ekipler değişiklikleri sık ve sorunsuz bir şekilde tümleştirerek birleştirme çakışmalarını en aza indirir.
GitHub Actions: Temel Kavramlar
GitHub Actions, YAML dosyalarında tanımlanan iş akışlarını kullanır. Bu dosyalar deponuzdaki özel bir dizinde bulunur: .github/workflows/.
Bir iş akışı bir dizi iş tanımlar ve her iş, komutları yürüten veya önceden oluşturulmuş eylemleri kullanan adımlar içerir. GitHub'a ne yapacağını böyle bildirirsiniz!
İlk CI İş Akışınızı Oluşturma
Deponuza yapılan her push işleminde tetiklenen temel bir CI iş akışı oluşturalım. Bu iş akışı Node.js'i kuracak ve bir proje derleme sürecini taklit edecektir.
Bu içeriği deponuzda .github/workflows/ci.yml olarak kaydedin:
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build project
run: node build.jsDerleme Betiğini Taklit Etme
İş akışındaki node build.js komutu, buna benzer bir betiği yürütür. Bu betik, uygulamanızın kodunu derleme, paketleme veya hazırlama işlerini taklit eder.
Çıktıyı görmek için çalıştırmayı deneyin:
console.log("Starting project build...");
console.log(" - Compiling source files...");
console.log(" - Bundling assets for deployment...");
console.log("Build process finished successfully!");Otomatik Testler Ekleme
CI'ın önemli bir parçası otomatik testleri çalıştırmaktır. Bağımlılıkları yükledikten sonra bir test adımı eklemek için iş akışımızı genişletelim. Testler başarısız olursa iş akışı da başarısız olur ve hatalı kodun ilerlemesi engellenir!
Şöyle bir test adımı ekleyeceğiz:
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: node test.js
- name: Build project
run: node build.jsTest Betiğini Taklit Etme
İş akışınızın yürütebileceği basit bir test.js betiği aşağıda verilmiştir. Gerçek bir projede Jest veya Mocha gibi test çatılarından yararlanılır; ancak bu örnek testlerin yürütülmesi ilkesini gösterir.
Taklit edilen test sonucunu görmek için çalıştırın:
console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing
if (allTestsPass) {
console.log("All 12 tests passed successfully!");
} else {
console.error("Tests failed! Please fix the errors.");
process.exit(1); // Exit with a non-zero code to indicate failure
}Sürekli Dağıtıma (CD) Giriş
CI derleme ve test süreçlerine odaklanırken Sürekli Dağıtım (CD), tüm CI kontrolleri başarılı olduktan sonra uygulamanızı bir sunucuya veya bulut hizmetine otomatik olarak dağıtarak bir adım daha ileri gider.
Yaygın CD tetikleyicileri şunlardır:
- Yeni bir Git etiketi oluşturma (örneğin
v1.0.0) - Belirli bir dala gönderme (örneğin
mainveyaproduction) - GitHub sürümü oluşturma
Basit Bir CD İş Akışı
Aşağıda yeni bir Git etiketiyle tetiklenen ve temsili bir dağıtım adımı içeren bir iş akışı verilmiştir. Gerçek bir senaryoda bu adım barındırma sağlayıcınızla (örneğin AWS, Azure veya Heroku) etkileşime girer.
Bunu .github/workflows/cd.yml olarak kaydedin:
name: Deploy to Production
on:
push:
tags:
- 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Simulate deployment
run: |
echo "Deploying application to production server..."
echo "Version: ${{ github.ref_name }}"
echo "Deployment complete!"
# In a real scenario, you'd use a deployment action here
# e.g., aws-actions/configure-aws-credentials, appleboy/ssh-actionCI/CD İş Akışı Kontrolü
CI/CD işlem hatlarını uygulamanın temel faydaları aşağıdakilerden hangileridir?
Özet: CI/CD Oluşturma
GitHub Actions ile sağlam CI/CD iş akışları oluşturmayı öğrendiniz!
- CI/CD'yi ve modern geliştirme açısından faydalarını tanımladık.
- Temel GitHub Actions iş akışı YAML yapısını inceledik.
- Proje derlemelerini ve testlerini otomatikleştiren CI iş akışları oluşturduk.
- Etiketlerle tetiklenen otomatik dağıtımlar için bir CD iş akışı tasarladık.
Kodu daha hızlı ve daha güvenli yayımlamak için otomatikleştirmeye devam edin!
Sıkça Sorulan Sorular
“CI/CD İş Akışları Oluşturma” dersi ücretsiz mi?
Evet — “CI/CD İş Akışları Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“CI/CD İş Akışları Oluşturma” dersinde ne öğreneceğim?
Gönderimler veya çekme istekleri üzerine kodunuzu otomatik olarak derlemek, test etmek ve dağıtmak için pratik CI/CD işlem hatları oluşturun. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“CI/CD İş Akışları Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- GitHub Actions'a Giriş
- CI/CD İş Akışları Oluşturma
- Özel Eylemler ve Pazar Yeri
- Actions'ta Gizli Bilgiler ve Ortam Değişkenleri