Wo ziehen Sie die Grenze zwischen Bereitstellung (Chef) und Deployment (Capistrano)?Arbeitsteilung: Capistrano vs Chef
Nehmen Sie zum Beispiel das Erstellen eines Nginx und Einhorn-Setup für Rails. Die Installation von nginx ist das Gebiet von Chef. Aber was ist mit Dingen wie Konfigurationsdateien (nginx.conf
und unicorn_init.sh
) und Unicorn Config (unicorn.rb
) - wie teilen wir das auf?
Die official Capistrano 3 tutorial erwähnt nichts im Zusammenhang mit Web-oder App-Server-Konfiguration.
Also wessen Verantwortung sind diese?
Da wir hier Meinungen abgeben :), teile ich meins. Ich war in Ihren Schuhen und hatte das Glück, nicht nur mit allen drei Herangehensweisen zu experimentieren, sondern auch Produktionsumgebungen mit ihnen zu betreiben. Die erste Option ist gut, wenn Sie nicht möchten, dass Chef Ihre Apps konfiguriert (wo Sie Umgebungen, Rollen usw. erhalten). Dritte Option ist mein Favorit (alle in Chef), und ich würde empfehlen, dass Sie dafür gehen. Sie können Ihre bereitgestellten Versionen pro Umgebung steuern und Sie haben damit viel Freiraum bei der Verwaltung von allem. Wählen Sie nur die zweite Option, wenn Sie Push-Bereitstellungen und Chef for Configs benötigen. – cassianoleal