2014-04-04 21 views
7

Temel hazırlık (Şef) ve dağıtım (Capistrano) arasındaki çizgiyi nerede çiziyorsunuz? Örneğin, Rails için bir nginx ve unicorn kurulumunu oluşturmaya çalışın. Nginx'in yüklenmesi Şef bölgesidir. Ancak yapılandırma dosyaları (nginx.conf ve unicorn_init.sh) ve unicorn config (unicorn.rb) gibi şeylere ne dersiniz? Bunu nasıl böleriz? Web veya uygulama sunucusu yapılandırması ile ilgili hiçbir şeyden bahsetmez.İşbölümü: Capistrano vs Chef

Kimin sorumluluğu bunlar?

cevap

7

Bu, öncelikle fikir temelli olmakla birlikte, yine de yanıtlayacağım.

Çizgiyi çizmek istediğiniz yere çizgiyi çizersiniz.

Şefin ana yol gösterici felsefesidir:

Sen

Bazı kuruluşlar

kurulum için tüm paylaşılan klasörler, linkler, varlıkları, vb (gibi normalde cap deploy:setup Chef kullanmak altyapınızı iyi biliyorum ...) yapar. Bazı kuruluşlar sadece altyapı bitlerini yönetir (kullanıcılar, izinler, yüklü yazılımlar). Ve bazı organizasyonlar tamamen Şef'le konuşurlar (hiç Capistrano yok).

Kişisel tercihleriniz ve organizasyon kültürünüz hakkında gerçekten.

+5

Burada görüş bildirdiğimiz için :), benimkini paylaşacağım. Ben senin ayakkabılarındaydım ve sadece üç yaklaşımı denemekle kalmayıp onları kullanarak üretim ortamlarını işletmek için yeterince şanslıydım. Uygulamanızı yapılandırmak için Şef'e ihtiyacınız yoksa/istemiyorsanız (ortamlar, roller, vb.) Ilk seçenek iyidir. Üçüncü seçenek benim favorim (tüm şef içinde) ve bunun için tavsiye ederim. Dağıtılmış sürümlerinizi ortam başına kapatabilir ve her şeyi nasıl yöneteceğiniz konusunda size çok fazla özgürlük sağlar. Yalnızca itme dağıtımları ve yapılandırmalar için Şefe ihtiyacınız varsa ikinci gidin. – cassianoleal