The primary weakness of my approach is that for convenience's sake, I rely heavily on apt-get. So hypothetically I'm tied to the debian family. (we use Ubuntu LTS of a couple different versions)
Strictly speaking this disadvantage is unnecessary, you could do all from-source builds using fabric if you wanted. Didn't seem like a constructive use of my time though.
While that page has a long list of things they do, the important bits relevant to your comment are
1. a tighter focus on idempotence than Fabric
2. an easy-ish way to integrate package management so you could potentially use the same script to kick off either yum or apt depending on the box
Oh God, why do they put hosts in /etc/ansible? Why would I corrupt my system installation with project-specific files? What I want to do is make a "<project>-deployment" folder and have everything related to deployment there.
Why the hell would I store anything about deploying one of my projects in /etc/?
The original reason I abandoned chef and puppet is that I didn't like something getting between me and the shell.
Why would I make the same mistake twice? My only real dissatisfaction with Flask is that it cannot handle dispatching its work in parallel. Not a big deal though.
I had a modest epiphany some weeks back thinking about server configuration management: if you want to manage configurations on a given node (to use Chef lingo), it's best to work within a system that facilitates and/or encourages this.
For a number of reasons, Debian (or faithful derivatives) comes closest to this of any platform I've encountered.
Comments
http://pypi.python.org/pypi/Fabric/0.9.0
Edit:
The primary weakness of my approach is that for convenience's sake, I rely heavily on apt-get. So hypothetically I'm tied to the debian family. (we use Ubuntu LTS of a couple different versions)
Strictly speaking this disadvantage is unnecessary, you could do all from-source builds using fabric if you wanted. Didn't seem like a constructive use of my time though.
Sample task in my fabfile:
https://gist.github.com/3086836
I'll let you guess from the function name what it does.
The magic word of devops is "idempotence".
There's a new project called Ansible that may be of interest to you:
http://ansible.github.com/
While that page has a long list of things they do, the important bits relevant to your comment are
1. a tighter focus on idempotence than Fabric 2. an easy-ish way to integrate package management so you could potentially use the same script to kick off either yum or apt depending on the box
Oh God, why do they put hosts in /etc/ansible? Why would I corrupt my system installation with project-specific files? What I want to do is make a "<project>-deployment" folder and have everything related to deployment there.
Why the hell would I store anything about deploying one of my projects in /etc/?
The original reason I abandoned chef and puppet is that I didn't like something getting between me and the shell.
Why would I make the same mistake twice? My only real dissatisfaction with Flask is that it cannot handle dispatching its work in parallel. Not a big deal though.
I like knowing exactly how things get done.
Doesn't Fabric support parallel instructions now? I think I heard something about that, although I'm not entirely sure...
Yes, yes - it does. If you'd like to read more about it, visit: http://fabric.readthedocs.org/en/1.3.0/usage/parallel.html
I was thinking more along the lines of parallel connections.
Yeah, it turns out that's what it does, rather than parallel instructions/commands: http://fabric.readthedocs.org/en/1.3.0/usage/parallel.html
I had a modest epiphany some weeks back thinking about server configuration management: if you want to manage configurations on a given node (to use Chef lingo), it's best to work within a system that facilitates and/or encourages this.
For a number of reasons, Debian (or faithful derivatives) comes closest to this of any platform I've encountered.
That said: fabric appears to be little more than a multi-system aware task runner. Somewhat like dsh (distributed ssh / dancer's shell): http://www.netfort.gr.jp/~dancer/software/dsh.html
... or like Capistrano, as the Debian package description suggests (modulo installing Rails).
There's a bad pimp joke around "idempotence" waiting to be made.
Your task here would seem to install Oracle's Java 7 HostSpot JVM.
How do you get around the licensing question(s) (or is that what the "-y" is for)?
That's what the -y is for.
> fabric appears to be little more than a multi-system aware task runner.
And C is little more than a portable assembler ;)
Fair enough. I'm not trying to be trite, just reading what I see.