Öğrenme yolu 04Ders 9 / 10

Kanıta dayalı yayın kararı verin

Sürümü, hedefi, kalan riski ve kurtarma yöntemini kontrol edin. Sistem gerektirdiğinde birleştirmeyi, dağıtımı ve kullanıcıya açmayı ayırın.

Uygulayıcı9 minİncelendi

Yayımlayan Nasıl yazıyoruz?

Neler öğreneceksiniz?

  • Yayın kararının neleri tanımlaması gerektiğini belirleyin.
  • Birleştirme, dağıtım ve özelliği kullanıcıya açmayı ayırt edin.
  • Yayını durdurma veya geri alma koşullarını tanımlayın.

Kararı kesin olarak belirtin

Yeşil pipeline, bir dizi kontrolden gelen kanıttır. Yayın kararının eksiksiz açıklaması değildir. Sorumlu, neyin nerede değişeceğini ve hangi sonuçların kalacağını bilmelidir.

Kurgusal müşteri dışa aktarma özelliği için kabul edilen commit’i ve ondan üretilen artefaktı belirleyin. Hedef ortamı adlandırın. İlgili testlere, incelemeye ve onaylanmış istisnalara bağlantı verin. Uygulamayla birlikte gelen veri veya altyapı değişikliklerini dahil edin.

NIST SSDF güvenli geliştirme uygulamaları sunarken, SLSA köken bilgisi artefaktın nasıl üretildiğini açıklamaya yardımcı olur. Hiçbiri bu yayının bu hizmet için uygun olup olmadığına karar verme ihtiyacını kaldırmaz. NIST SSDF, SLSA köken bilgisi.

Üç olayı ayırın

Birleştirme, kaynak kodu değişikliğini bir dala yerleştirir. Dağıtım, artefaktı bir ortama yerleştirir. Özelliği kullanıcıya açmak, davranışı kullanıcıların erişimine sunar. Bu olaylar aynı anda gerçekleşebilir, ancak aynı olay olmaları gerekmez.

Bir hizmet, etkin olmayan özelliği dağıtıp daha sonra kullanıcıya açabilir. Veri tabanı geçişi, görünür bir özellik ortaya çıkmadan önce üretimi etkileyebilir. PR birleştirmesinin her sonucu anlattığını varsaymak yerine gerçek sırayı tanımlayın.

Dışa aktarma için bir özellik bayrağı, ilk erişimi sınırlayabilir. Yeni bir endpoint’i otomatik olarak korumaz veya şema geçişini geri almaz. Kontrolü, sonucun ortaya çıktığı noktada doğrulayın.

Kısa bir kanıt kaydını inceleyin

Başka bir sorumlunun inceleyebileceği kayıt kullanın:

  • Amaç ve etkilenen kullanıcılar.
  • Commit ve artefakt kimliği.
  • İlgili davranış, güvenlik ve uyumluluk kontrolleri.
  • Hedef ortam ve yürütme kimliği.
  • Sorumluları ve sona erme koşullarıyla kalan istisnalar.
  • İzleme, kurtarma yöntemi ve müdahale sorumlusu.

İddiaları belirli tutun. “Testler geçti” ifadesi, yayın commit’inin sonuçlarına ve açık kapsam açıklamasına verilen bağlantıdan daha zayıftır. “Rollback mevcut” ifadesi, sınırları belirtilmiş test edilmiş prosedürden daha zayıftır.

Nasıl durduracağınıza karar verin

Yayın koşullarını uygulamadan önce tanımlayın. Kurgusal dışa aktarmada, kuruluşlar arası erişim başarılı olursa, artefakt kabul edilen özet değerinden farklıysa veya kurtarma kullanılamıyorsa durun. Bunlar örnek koşullardır; evrensel kontrol listesi değildir.

Dağıtımdan sonra kullanıcılar için önemli sinyalleri inceleyin. Hata davranışını ve yanıt sürelerini hizmetin kabul edilmiş hedefleriyle karşılaştırın. Sağlıklı süreç, kullanıcı iş akışının çalıştığını kanıtlamaz.

Bir koşul karşılanmazsa üzerinde anlaşılmış müdahaleyi uygulayın. Bu, kullanıcı erişimini kapatmak, uyumlu kodu önceki sürüme döndürmek veya veriyi kurtarmak olabilir. Daha büyük bir hata yaratmadan mevcut hatayı ele alan işlemi seçin.

Yayından sonra kararı koruyun

Gerçekte dağıtılan artefaktı ve sonucu kaydedin. Uygulama plandan farklıysa farkı görünür kılın. Olayları ve beklenmedik işleri sonraki yayın tasarımına dahil edin.

Otomatik teslimat sistemi, bu kaydı incelemeyi kolaylaştırmalıdır. İnceleyiciyi yayını bağlantısız sohbetlerden, günlüklerden ve ekran görüntülerinden yeniden kurmak zorunda bırakmamalıdır. Açık kanıt, ekiplerin hesabı verilebilir kararları koruyarak rutin işleri otomatikleştirmesini sağlar.

Alıştırmayı yapın

Müşteri dışa aktarma özelliği için kurgusal yayın notu hazırlayın. Commit'i, artefakt özet değerini, ortamı, yetkilendirme kontrolünü, veri tabanı geçişinin etkisini, izleme sorumlusunu ve kurtarma tetikleyicisini ekleyin. Birim testleri geçse bile yayını durduracak bir koşul listeleyin.

Çalışma sayfasını indir (Markdown)

Anladığınızı kontrol edin

İnceleyici A commit'ini onaylıyor, ancak dağıtım ek bir yetkilendirme değişikliği içeren B commit'ini derliyor. Ne gerekir?

Kaynaklar ve ek okumalar

Taiga'dan ilgili okumalar