Fabric for remote deployment | Sugus

I recently came across a piece of software called “Fabric”. It has been made in python and its purpose is to help simplifying the process of deploying software to remote machines.

The really cool thing I like about it is that it’s much faster than, say, an ant script because it actually reuses the SSH connections it opens. This means that, if you copy a file to a remote host (using the ‘put’ operation), do some local copying, and after that perform a remote command (like starting a server, for instance), this latter operation will not need to open another SSH connection to run the command.

I managed to cut by a factor of 5 the deployment speed of some java services running on jboss just by replacing ant’s sshexec by fabric’s ‘put’ method and its siblings :)

But there’s a lot more to it: It allows you to configure multiple target environments and hosts (think about deployment to multiple nodes of equal functionality), perform remote commands with ’sudo’ and, since the configuration file is basically a python script, you can use all the pythonic sugar of your liking :D

More information about Fabric can be found here. You can get the latest (stable) version in their github page, and here is a reference of the available operations.

 

Comments (0)

Leave a comment...

 
To leave a comment on this posterous, please login by clicking one of the following.
Posterous-login     Connect     twitter

About

Genius. Incredible. Remarkable. Awesome. Cool. On top of that, I am extremely humble too.