3 ms·
I have a morbid fascination with improving my workflow and programming environment, so I absolutely adore combing through other developer's fabfiles. This one i
by Pewpewarrows 15y ago
I have a morbid fascination with improving my workflow and programming environment, so I absolutely adore combing through other developer's fabfiles. This one is definitely nicely put together, and there's some nice gems I look forward to adapting into my own.
I'll say this though: while fabric is _ok_ at configuration management and provisioning new servers/instances, it's absolutely dwarfed by real tools for that kind of job. If you value your sanity and want another excellent tool in your arsenal, look into using Chef or Puppet for building servers (with a dose of Blueprint for reverse-engineering your existing requirements). Fabric is great at everything else it does, but for building new servers it's very flimsy and prone to break, which can cause many a needless headache. I prefer Chef, but Puppet is equally excellent. Do yourself a favor and take the afternoon to learn one or both.
- barnaby 15y agoAgreed. It's well worth ones time to learn various different deployment tools. Everybody on a team should either contribute to making the build process better, or at least be familiar with how it works because their code has to go through that process to get published.
- ch0wn 15y agoI agree. Fabric is fine for simple, one-time deployments, but as requirements grow and need to be updated later on, idempotence starts to shine. For chef, there is a great tutorial by Opscode about deploying Django applications: http://help.opscode.com/kb/otherhelp/build-a-django-stack http://help.opscode.com/kb/otherhelp/build-a-django-stack
- ymir 15y agoI've heard many good things about Chef -- seems to be the tool get job done. Could you guys share your Chef script/config so we can all benefit from learning by example?
- ra 15y agoYes, I've often heard people say this is the way to go, but please blog about your own django server setup process using chef / puppet so we can see the details.
- cabacon 15y agoAgreed. There was a nice post on HN recently (http://news.ycombinator.com/item?id=2714149 http://news.ycombinator.com/item?id=2714149) about combining fabric + vagrant to manage django deploys. The vagrant part handles the "use puppet or chef" part of provisioning, while the fabric includes the "run quick commands on the VM" part after the VM is already provisioned. I learned a lot from that!