Mavi/Yeşil Dağıtımlar
Kesinti süresini en aza indirmek ve hızlı geri dönüşleri kolaylaştırmak için GitHub Actions ile Mavi/Yeşil dağıtım stratejileri kurun.
Mavi/Yeşil Dağıtımlar, CoddyKit'te ücretsiz bir CI/CD with GitHub Actions & DevOps Pipelines dersidir. Bu, 4 dersinin 1. 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, CI/CD with GitHub Actions & DevOps Pipelines öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.
Mavi/Yeşil Dağıtım Nedir?
Hoş geldiniz! Bu derste yeni yazılımları yayımlamak için güçlü bir strateji olan Mavi/Yeşil dağıtımları ayrıntılı olarak inceleyeceğiz.
Bu strateji, dağıtımlar sırasında hizmet kesintisini ve riski en aza indirerek kullanıcılarınızın her zaman sorunsuz bir deneyim yaşamasını sağlamak üzere tasarlanmıştır.
Mavi ve Yeşili Anlama
Birinin "Mavi", diğerinin "Yeşil" olarak adlandırıldığı, birbirinin aynısı iki üretim ortamınız olduğunu düşününüz.
- Mavi: Tüm kullanıcı trafiğine hizmet veren, şu anda canlı olan ortamınızdır.
- Yeşil: Yeni sürümleri dağıtmak ve test etmek için kullanılan, etkin olmayan ve aynı özelliklere sahip ortamdır.
Mavi/Yeşil Nasıl Çalışır
Süreç basit ama etkilidir:
- Yeni uygulama sürümünüzü Yeşil (etkin olmayan) ortama dağıtınız.
- Yeni sürümü Yeşil ortamda kapsamlı biçimde test ediniz.
- Emin olduğunuzda tüm kullanıcı trafiğini Mavi ortamdan Yeşil ortama geçiriniz.
- Eski Mavi ortam artık etkin değildir; hızlı geri dönüşler veya güncellemeler için tutulabilir.
Mavi/Yeşil Neden Kullanılır?
Bu strateji önemli avantajlar sunar:
- Sıfır Hizmet Kesintisi: Kullanıcılar hiçbir kesinti yaşamadan yeni sürüme sorunsuzca geçer.
- Anında Geri Dönüş: Sorunlar ortaya çıkarsa trafiği kararlı Mavi ortama geri geçirmeniz yeterlidir.
- Azaltılmış Risk: Yeni sürümleri canlıya almadan önce üretime benzer bir ortamda test edersiniz.
İhtiyaç Duyacaklarınız
Mavi/Yeşil uygulaması için genellikle şunlara ihtiyaç duyarsınız:
- Yük Dengeleyici: Trafiği Mavi veya Yeşil ortama yönlendirmek için.
- Birbirinin Aynısı İki Ortam: Tutarlılığı sağlamak için çoğunlukla bulut tabanlı olur.
- Otomasyon Aracı: Dağıtımları ve trafik geçişini yönetmek için GitHub Actions gibi bir araç.
GitHub Actions ile Düzenleme
GitHub Actions, Mavi/Yeşil dağıtımınızın her adımını otomatikleştirebilir.
Şunları yapacak iş akışları tanımlayabilirsiniz:
- Etkin olmayan ortama derleme yapıp dağıtmak.
- Yeni dağıtıma karşı otomatik testler çalıştırmak.
- Yük dengeleyicinizin API'si veya bir betik aracılığıyla trafik geçişini tetiklemek.
Yeni Sürümü Dağıtma
Yeni uygulama sürümünüzü 'Yeşil' ortama dağıtan basitleştirilmiş bir GitHub Actions kod parçası aşağıda verilmiştir. environment adının kullanımına dikkat ediniz.
name: Deploy to Green
on:
push:
branches:
- main
jobs:
deploy-green:
runs-on: ubuntu-latest
environment: Green # Target the Green environment
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy app to Green
run: |
echo "Deploying application version ${{ github.sha }} to Green environment..."
# Your actual deployment commands go here
# e.g., deploy to a specific AWS EC2 instance or Kubernetes namespaceTrafiği Geçirme
Dağıtım ve test başarıyla tamamlandıktan sonra son adım trafiği geçirmektir. Bu işlem çoğu zaman bir yük dengeleyicinin veya DNS kaydının güncellenmesini içerir.
Aşağıda bu geçişi tetikleyecek kavramsal bir GitHub Actions adımı verilmiştir:
name: Switch Traffic to Green
on:
workflow_dispatch: # Manual trigger for traffic switch
jobs:
switch-traffic:
runs-on: ubuntu-latest
steps:
- name: Update Load Balancer to Green
run: |
echo "Switching load balancer traffic to Green environment..."
# Call your load balancer's API or a script here
# e.g., aws elbv2 modify-target-group-attributes ...
# or kubectl apply -f green-ingress.yamlAnında Geri Dönüşler
Trafiği Yeşil ortama geçirdiğinizde kritik bir hata ortaya çıkarsa ne olur?
Mavi/Yeşil yaklaşımıyla geri dönüş anında gerçekleşir! Yük dengeleyici trafiğini özgün ve kararlı Mavi ortama geri geçirmeniz yeterlidir.
Bu, olayın etkisini ve kurtarma süresini önemli ölçüde azaltır.
Önemli Hususlar
Mavi/Yeşil güçlü bir yaklaşım olsa da dikkate alınması gereken noktalar vardır:
- Kaynakların Yinelenmesi: İki tam ortam çalıştırdığınız için altyapı maliyetleri iki katına çıkabilir.
- Veritabanı Geçişleri: Hem Mavi hem de Yeşil aynı veri deposuna erişmek zorunda kalabileceğinden veritabanı değişikliklerini ele almak karmaşık olabilir.
- Durum Bilgisi Tutan Uygulamalar: Kalıcı duruma sahip uygulamalar dikkatli planlama gerektirir.
Mavi/Yeşil Dağıtım Sınavı
Mavi/Yeşil dağıtımlarını anlayıp anlamadığınızı kontrol edelim.
Ders Özeti
Harika iş çıkardınız! Mavi/Yeşil dağıtımlar hakkında bilgi edindiniz.
- Yeni sürümleri dağıtmak için birbirinin aynısı iki ortam (Mavi ve Yeşil) kullanır.
- Sıfır hizmet kesintisi ve anında geri dönüşler sağlar.
- GitHub Actions, dağıtımı ve trafik geçişini otomatikleştirebilir.
- Kaynak maliyetlerini ve veritabanı değişikliklerini planlamayı unutmayınız!
Sıkça Sorulan Sorular
“Mavi/Yeşil Dağıtımlar” dersi ücretsiz mi?
Evet — “Mavi/Yeşil Dağıtımlar” 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 CI/CD with GitHub Actions & DevOps Pipelines kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.
“Mavi/Yeşil Dağıtımlar” dersinde ne öğreneceğim?
Kesinti süresini en aza indirmek ve hızlı geri dönüşleri kolaylaştırmak için GitHub Actions ile Mavi/Yeşil dağıtım stratejileri kurun. CI/CD with GitHub Actions & DevOps Pipelines 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.
CI/CD with GitHub Actions & DevOps Pipelines öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te CI/CD with GitHub Actions & DevOps Pipelines, 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 1. dersidir.
“Mavi/Yeşil Dağıtımlar” 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 CI/CD with GitHub Actions & DevOps Pipelines dersinde kod yazıp çalıştırabilir miyim?
Evet. Her CI/CD with GitHub Actions & DevOps Pipelines 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
- Mavi/Yeşil Dağıtımlar
- Actions ile Kanarya Sürümleri
- Geri Dönüşler ve Felaket Kurtarma
- Özellik Bayrakları ve Aşamalı Yayımlar