Where do you draw the line between provisioning (Chef) and deployment (Capistrano)?
For example, take creating an nginx and unicorn setup for Rails. Installing nginx is Chef territory. But what about things like configuration files (nginx.conf
and unicorn_init.sh
) and unicorn config (unicorn.rb
)--how do we divide this up?
The official Capistrano 3 tutorial makes no mention of anything related to web or app server configuration.
So whose responsibility are these?
This is primarily opinion-based, but I'll answer anyway.
You draw the line wherever you want to draw the line.
Chef's main guiding philosophy is:
You know your infrastructure best...
Some organizations use Chef to setup all the shared folders, links, assets, etc (like cap deploy:setup
normally does). Some organizations just manage the infrastructure bits (users, permissions, software installed). And some organizations deploy entirely with Chef (no Capistrano at all).
It's really about your personal preferences and organizational culture.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With