Geri Dönüşler ve Felaket Kurtarma
CI/CD işlem hatlarınız içinde etkili geri dönüş yordamları ve felaket kurtarma planları tasarlayıp uygulayın.
Geri Dönüşler ve Felaket Kurtarma, CoddyKit'te ücretsiz bir CI/CD with GitHub Actions & DevOps Pipelines dersidir. Bu, 4 dersinin 3. 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.
Beklenmedik Sorunlar Yaşanabilir!
Yazılım geliştirme her zaman sorunsuz ilerlemez. Bazen yeni dağıtımlar hatalara yol açar veya mevcut özellikleri bozar. İşte geri alma ve olağanüstü durum kurtarma bu noktada devreye girer.
Bunlar, sistem kararlılığını ve kullanıcı güvenini korumak için kritik öneme sahiptir.
Geri Almaları Anlama
Geri alma, sorunlu bir dağıtımdan sonra sistemi veya uygulamayı önceki, kararlı bir duruma döndürme işlemidir. Bu işlem, yakın zamanda yaptığınız değişiklikler için bir "geri al" düğmesi gibidir.
Geri almalar, hatalı bir sürümün etkisini en aza indirmek ve normal işlemleri geri yüklemek için genellikle hızla tetiklenir.
Yaygın Geri Alma Yaklaşımları
Dağıtım stratejinize bağlı olarak geri alma işlemini gerçekleştirmenin birkaç yolu vardır:
- Kodu Geri Alma: Uygulama kodunuzun önceki ve güvenilir olduğu bilinen sürümünü dağıtma.
- Trafik Geçişi: Kullanıcı trafiğini hatalı yeni sürümden uzaklaştırıp eski sürüme yönlendirme.
- Veritabanını Geri Alma: Genellikle en karmaşık bölüm olan veritabanı şeması veya verilerindeki değişiklikleri geri alma.
Actions ile Geri Almaları Otomatikleştirme
GitHub Actions, geri alma işlemlerini otomatikleştirebilir. Belirli olaylarda (örneğin manuel çalıştırmada) tetiklenerek önceki kararlı sürümü yeniden dağıtan veya altyapı değişikliklerini geri alan iş akışları oluşturabilirsiniz.
Bu, hızlı, tutarlı ve hataya daha az açık bir geri alma süreci sağlar; stresli durumlarda insan hatasını azaltır.
Manuel Geri Alma İş Akışı
Belirli bir önceki sürümü (ör. etiket veya işleme özeti) dağıtmak için manuel bir tetikleyiciyi şu şekilde ayarlayabilirsiniz. Bu iş akışı, kullanıcıdan bir version girdisi alır.
name: Manual Rollback Deployment
on:
workflow_dispatch:
inputs:
version:
description: 'Tag or commit hash to deploy'
required: true
default: 'main'
jobs:
rollback:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.version }}
- name: Deploy previous version
run: |
echo "Deploying version: ${{ github.event.inputs.version }}"
# Add your specific deployment commands here
# e.g., helm upgrade, kubectl apply, etc.
Geri Almaların Ötesi: Olağanüstü Durum Kurtarma
Olağanüstü Durum Kurtarma (DR), yıkıcı bir olaydan sonra sistemlerinizi ve verilerinizi kurtarmaya yönelik daha kapsamlı bir stratejidir. Bu olay, bir veri merkezinin hizmet dışı kalması, doğal afet veya büyük bir siber saldırı olabilir.
Kötü bir dağıtımı düzelten geri almanın aksine DR, sistemin tamamen devre dışı kalması veya birincil ortamın kaybedilmesinden sonra hizmetin tamamını geri yüklemeyi amaçlar.
CI/CD'de DR Planlaması
CI/CD işlem hatlarınızda DR planlaması yaparken şunları göz önünde bulundurun:
- Yedeklemeler: Verileri, yapılandırmaları ve yapıtları düzenli olarak yedekleme.
- Yedeklilik: Birden fazla bölge veya kullanılabilirlik alanına dağıtım yapma.
- Kurtarma İş Akışları: Hizmetleri yedeklerden geri yüklemeye veya yeni altyapıya dağıtmaya özel iş akışları.
- Test Etme: Gerektiğinde çalıştığından emin olmak için DR planınızı düzenli aralıklarla test etme.
Kurtarma İçin Derleme Yapıtlarını Depolama
GitHub Actions, DR için kritik önem taşıyan derleme yapıtlarını depolayabilir. Bunlar derlenmiş ikili dosyaları, Docker görüntülerini veya dağıtım bildirimlerini içerebilir. Bunları başarılı bir derleme sırasında yükleyebilirsiniz.
Bu yapıtlar daha sonra bir DR iş akışının parçası olarak indirilip yeni bir ortama dağıtılabilir.
name: Build and Archive Artifacts
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build application
run: |
echo "Building app..."
mkdir -p build_output
echo "App version 1.0.0" > build_output/app.txt
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: application-build
path: build_output/
Geri Alma ve DR Denetimi
Yeni bir özellik dağıtımı kritik bir hataya neden olarak uygulamanıza erişilemez hâle getirdi. Bu belirli sorunu hızla düzeltmek ve hizmeti geri yüklemek için öncelikle hangi strateji kullanılır?
Geri Almalar ve DR: Temel Çıkarımlar
Bu derste geri alma ve olağanüstü durum kurtarmayla ilgili kritik kavramları inceledik. Geri almaların hatalı dağıtımları hızla önceki hâline döndürdüğünü, Olağanüstü Durum Kurtarmanın ise büyük arızalardan sonra sistemleri geri yüklemeye odaklandığını öğrendik.
GitHub Actions, her iki sürecin otomatikleştirilmesinde önemli bir rol oynayabilir; böylece uygulamalarınız dayanıklılığını korur ve kullanıcılarınız en az kesintiyi yaşar.
Sıkça Sorulan Sorular
“Geri Dönüşler ve Felaket Kurtarma” dersi ücretsiz mi?
Evet — “Geri Dönüşler ve Felaket Kurtarma” 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.
“Geri Dönüşler ve Felaket Kurtarma” dersinde ne öğreneceğim?
CI/CD işlem hatlarınız içinde etkili geri dönüş yordamları ve felaket kurtarma planları tasarlayıp uygulayın. 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 3. dersidir.
“Geri Dönüşler ve Felaket Kurtarma” 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