Skip to main content

Deployment Stratejisi

Bu doküman, BiSU'nun deployment stratejisini anlatmaktadır.

Kubernetes'te mevcut uygulamaların deployment stratejileri şu şekildedir:

  • Geliştirmenin uat branchine alınması: Bu işlemi geliştirici veya geliştiriciler yapar. İlgili geliştirme PR'ını squash ve merge eder.
  • Uat branchinin main branchine alınması: Bu işlemi geliştirici veya yetkili bir kişi yapar. İlgili geliştirme PR'ını main branchine merge eder.
  • Main branchinden otomatik deploy işlemi: Bu işlemi CI/CD pipeline'ı yapar. main branchinden commit alındığında otomatik olarak deploy işlemi başlar. Öncelikle docker image'i build edilir. Sonrasında build edilen image docker registry'e (AWS ECR) push edilir. Son olarak helm chart'ı kullanılarak deploy işlemi yapılır. Bu işlem sonucunda uygulama yeni versiyonu ile çalışmaya başlar.

Deployment başlangıcında ve bitişinde Slack kanalına bildirim gönderilir.

Revert İşlemi

Deployment işlemi başarısız olursa veya deployment sonrası uygulamada bir sorun oluşursa, uygulama eski versiyona döndürülebilir. Bunun için aşağıdaki adımlar izlenir:

  • uat branchinden ilgili commit revert edilerek (revert commit) uat branchine push edilir.
  • uat branchinin main branchine alınması: uat'den main'e merge işlemi yapılır.
  • Otomatik deployment işlemi gerçekleştirilir.

Revert işlemini yaparken PR açılmasına gerek yoktur direkt uat'den revert edilebilir.