Orbit

Bir Dağıtımı Geri Alma

If a deployment breaks production, you can put an earlier build back in front of traffic in seconds without rebuilding anything. This guide covers how rollback works, how to pick the right…

Bir dağıtım üretimi kırarsa, hiçbir şeyi yeniden oluşturmadan saniyeler içinde daha eski bir yapıyı trafiğin önüne koyabilirsiniz. Bu kılavuz geri alma işleminin nasıl çalıştığını, doğru dağıtımın nasıl seçileceğini, Orbit'in sizin için gerçekleştirebileceği otomatik geri almaları ve geri aldıktan sonra ne yapacağınızı kapsar.

Geri Alma Nasıl Çalışır

Orbit, her başarılı yapının paketlenmiş yapıtını saklar. Bir geri alma, kurulum veya yapı komutunuzu yeniden çalıştırmaz: zaten var olan ve zaten sunulan bir yapıtı ileriye taşır, bu nedenle saniyeler içinde tamamlanır ve bir yapının başarısız olabileceği nedenlerin hiçbiri için başarısız olamaz.

Bunu ilk sırada kullanmak için tam bu yüzdendir. Geri alma işlemi, siteniz kırılırken ileri doğru düzeltmeye çalışmaktan daha hızlı ve çok daha öngörülebilirdir.

Önceki Bir Dağıtıma Geri Alma

  1. Projenizi Orbit içinde açın.
  2. Deployments sekmesini açın.
  3. İyi olduğunu bildiğiniz son dağıtımı bulun.
  4. O satırda Roll back öğesine tıklayın ve onaylayın.

Onay, tam olarak ne olacağını söyler: trafikten hemen daha eski yapı sunulacak ve mevcut dağıtım yerine geçecektir.

Deployments sekmesi ve geri alma eylemi

Düğmenin Rollback to kısa commit hash olarak okunduğu dağıtımın kendi ayrıntı sayfasından da geri alabilirsiniz.

Geri yüklenen dağıtım CURRENT rozeti alır. Geri aldığınız dağıtım, Rolled back durumuyla geçmişte kalır.

Geri alma yıkıcı değildir ve geri alınması gerekmez. Hiçbir şey silinmez, geçmiş yeniden yazılmaz ve deposunuz dokunulmaz. Üretim şubesine sonraki başarılı itme, normal şekilde yeni canlı sürüm olur.

Doğru Dağıtımı Belirleme

Deployments sekmesindeki her satır, commit mesajını ve kısa hash'i, şubeyi, durumu, dağıtıldığında ve onu kimin ittiğini gösterir. Canlı olan CURRENT rozeti taşır.

Genellikle soruna neden olan hemen önceki dağıtım istiyorsunuzdur. İki şey emin olmanıza yardımcı olur:

  • Karşılaştır. Şüpheli dağıtımı açın ve bunu öncekine karşı diff yapmak için Compare öğesine tıklayın: derleme süresi, yapıt boyutu, önbellek durumu, çerçeve ve dosya seviyesi yapıt farkı.
  • Dağıtım notları. Her dağıtım 500 karaktere kadar not içerebilir. Dağıtım sırasında "ödeme hatası için acil düzeltme" veya "özellik bayrağı X açık" eklemek hiçbir şey maliyetli değildir ve tarihi aylar sonra okunabilir hale getirir, bu da ihtiyacınız olduğu zamandır.

Bir yapıta geri alma, ortam değişkenlerinizi, yeniden yönlendirme kurallarınızı veya yanıt başlıklarınızı geri almaz. Bunlar, istek veya yapı zamanında okunur, yapıta baked değildir. Olay bir kod değişikliği yerine bir yapılandırma değişikliği nedeniyle oluştu ise, kodu geri almak bunu düzeltmeyecektir. Dağıtım ayrıntı sayfası, derleme sırasında enjekte edilen değişkenleri geçerli yapılandırmanıza karşı diff eder, bu da ikisini ayırt etmek için en hızlı yoldur.

Otomatik Geri Alma

Orbit, bunu fark etmeden önce sizin için yapabilir. Üç ayarın hepsi Settings içindedir.

Başarısızlıkta Otomatik Geri Alma

Runtime bölümünde Auto-rollback on failure öğesini açın. Üretim dağıtımı başarısız olursa, son sağlıklı dağıtım otomatik olarak geri yüklenir ve ziyaretçiler hiçbir kapalı kalma süresi görmez. Staging'in kendine ait eşdeğer bir geçişi vardır.

Sağlık Kontrolü

Health check bölümünde Health check path ayarlayın, örneğin / veya /api/health. Her üretim dağıtımından sonra, Orbit bu yolu getirir. 15 saniye içinde 2xx yanıtı döndürmez ise, önceki sağlıklı dağıtım geri yüklenir.

Smoke Testleri

Smoke tests bölümünde 10'a kadar virgülle ayrılmış yolu listeleyin, örneğin /,/blog,/api/health. Her başarılı dağıtımdan sonra, Orbit her birine GET gönderir ve geçiş veya başarısızlığı kaydeder. Herhangi biri başarısız olur ve otomatik geri alma etkin olur ise, önceki dağıtım geri yüklenir. Sonuç, dağıtım sayfasında Smoke tests passed veya bir başarısızlık sayısı olarak görünür ve bir tane neden olduğunda Triggered rollback söyler.

Aslında veritabanınızı kullanan bir rotada yapılan sağlık kontrolü, ana sayfadaki kontrolden çok daha değerlidir. Hala önbelleğe alınmış bir ana sayfa sunan kırılmış bir dağıtım, / kontrolünü geçer ve gerçek bir kontrolü başarısız olur.

Geri Alma Versus Dağıtım Kilidi

Geri almaya hazır değilseniz ancak araştırırken yeni bir şeyin canlı çıkmasını durdurmak istiyorsanız, bunun yerine dağıtımları kilitleyin:

  1. Projeyi açın.
  2. Lock deploys öğesine tıklayın.
  3. Bir neden ekleyin, örneğin "production issue araştırılıyor".

Push tarafından tetiklenen dağıtımlar sessizce atlanır ve bir başlık Production deploys are locked okunur, nedeniniz ile. Manuel dağıtımlar yine çalışır, bu kasıtlı olur: kilit, kaza ile dağıtımları durdurur, sizin gönderdiğiniz düzeltmeyi değil. Kaldırmak için Unlock deploys öğesine tıklayın.

Bir kilit ve bir geri alma birlikte iyi çalışır. Hizmeti geri yüklemek için önce geri alın, sonra kimsenin rutin birleştirmesi tanılamayı yaparken bunu geri almaması için kilitlenin.

Staging'i Üretime Yükseltme

Bir staging ortamı çalıştırıyorsanız, sınanan bir staging yapıtını herhangi bir şey itme olmadan üretime koyabilirsiniz.

  1. Proje genel bakışını açın ve Staging bölümünü bulun.
  2. Staging, üretimin ön tarafında ise, Promote to production görünür.
  3. Buna tıklayın ve onaylayın.

Onayı dikkatlice okuyun, çünkü Orbit'te iki farklı yükseltme davranışı vardır ve bunlar birbirinin yerine kullanılamaz. Proje genel bakışından yükseltme, üretim ortam değişkenlerini ve üretim yapı komutlarını kullanarak aynı commit'te yeni bir üretim yapısını tetikler. Staging yapıtı yeniden kullanılmaz. Ayrıntı sayfasından belirli bir staging dağıtımını yükseltmek, staging yapısının yeniden yapı olmadan hemen canlı olacağını açıkça belirtir. Staging ve üretim ortam değişkenleriniz farklı ise, ilk yol test ettiğiniz yapıttan farklı bir yapıt üretecektir.

Orbit ayrıca sizin için yükseltebilir. Settings içinde Auto-promote staging, sağlıklı staging ve smoke testlerinin geçmesinin ardından birkaç saat sonra staging'i üretime yükseltir, 15 dakikada bir kontrol edilir.

Geri Alma Sonrasında

Deponuzdaki temel sorunu düzeltin ve yeni bir commit gönderin. Bu, yeni canlı sürüm haline gelen normal bir yapıyı tetikler. Dağıtımları kilitlediyseniz, push atlanacak şekilde kilitlenecek ise önce kilidi açın.

Proje Activity sekmesi, diğer her şeyle birlikte geri almayı kaydeder, bu nedenle kimin ne zaman geri aldığının bir denetim izi vardır.

Geri Alma Boyunca Ne Kadar Geriye Gidebileceğinizi Sınırlayan

Geri almak yapıtın hala var olmasını gerektirir. İki ayar bunu kontrol eder:

  • Planınızın dağıtım geçmiş penceresi: Launch'ta 7 gün, Liftoff'ta 30, Apex'te 90.
  • Projenin Artifact retention ayarı, ortam başına başarılı yapıt sayısını 10 ile 500 arasında tutarak, varsayılan olarak 50 olur.

Şu anda canlı dağıtımın yapıtı her zaman tutulur, her ikisinden bağımsız olarak.

Günde birçok kez dağıtım yapıyorsanız, yapıt sayısı, gün sayısı değil, ilk çarpacağınız sınırdır. Elli dağıtım tek bir hafta olabilir. Bir olay sırasında tavanı keşfetmek yerine Artifact retention yükseltin.

İlgili Okuma

Hala yardıma mı ihtiyacınız var?

Bize şu adresinden e-posta gönderin: support@kapsulehost.com ya da KPanel'de sohbet açın.

KPanel'i Aç
Bir Dağıtımı Geri Alma