views:

616

answers:

2

I am looking for a remote deployment strategy for the projects I am working on and even went so far to start designing one from scratch.

But I've stumbled over a near-identical implementation called Webistrano. Has anyone tried using it for project deployment, is anyone still using it? Is it any good, or does it make you want to stab yourself in the eye with a dull pencil?

A: 

Assuming you are deploying to a *nix server...

Why not just use capistrano which webistrano is just a wrapper for? It can be configured to deploy just about anything. (Capistrano makes using ssh through ruby easy.)

If you aren't deploying rails you'll probably end up writing custom scripts which if you have any system administration experience shouldn't be hard. The capistrano project's documentation sucks but there are plenty of people that have figured it out and once you get a deployment script working you should be good.

epochwolf
+3  A: 

My webdev company is using it succesfully for a few dozen PHP projects on different production servers. We're very happy with it!

Webistrano is a web GUI for capistrano. The reason we chose it over running Capistrano directly is that it provides a nice centralized interface. Most of our developers are not very CLI savvy and I don't think they really need to be. Instead of having capistrano recipe's spread everywhere, we preferred a web app approach.

Webistrano stores every deployment log and username, so we have some accountability. It provides a central place to see which revision of a project is currently Live. A few admins have the ability to create recipes for Webistrano and Webistrano's GUI can be accessed by all developers on our intranet. They only need to select a project and a stage (like Dev or Prod) and press deploy.

It has greatly reduced the chance of things going wrong, and has proven perfect for us.

Some features I miss:

  • User privileges: More limited user privileges than Admin and User. Would we nice to limit some actions or projects to certain users.
  • Interactive prompts: Webistrano can't ask for input if the capistrano process requires it during a deployment. You can have webistrano prompt for variables before deployment, but not during deployment, say if some unexpected question pops up.
  • Centralized authentication: Well, to be fair it does support .htaccess authentication, so we should probably config PAM to check with LDAP.

It is open-source so I should probably have a look at implementing some of these myself. Just wish I was better at Ruby on Rails.

Martijn Heemels