Hacker News new | ask | show | jobs
by neeleshs 5779 days ago
I regularly use Fabric. After deploying a couple of projects with it, I have come up with a standard deployment layout and stack. Now its as simple as "fab deploy" and "fab revert". Thank you fab!
2 comments

I'm looking to optimize my fab setup, feel like sharing your fabfile.py?
Same here, except I've set things up so that any changes I make to my project are automatically synced instantly to a live staging domain, and I don't have a revert command (although I do back up copies of previous deployments). I also keep apt and pypi dependencies in project-local config files and have a refresh command that updates those packages on both the remote and local machine along with some other stuff. I think I might have overengineered things a little.
would any of you share these files and your setup? I'd love to have a look into them.

Thanks!

thanks a lot!
Sure. I doubt you'll get much out of it, but I'm still quite curious what your impression will be.

http://pastebin.com/Q970rYaH

If it helps, "li" is my current project's code name.

The vast majority of the code is concerned with configuring a fresh Linode, not pushing recent changes (for that, see the rf and stage functions, and the functions they call). I hate system administration. The only way I could make myself configure my server was by writing a script to configure it for me.

thanks!
My fabric setup is basically:

* push to <server>

* update the files

* compile sass to css

* minify javascript

* process the dependencies file (using pip) for updates (it does nothing if I haven't added new dependencies)

* restart/flush/whatever I specify

It works beautifully, I can deploy changes in a few seconds.

EDIT: Okay how do I make lists :(