Webistrano 1.1 released

Posted by Jonathan

Webistrano 1.1 is finally out. Webistrano is a Web UI for managing Capistrano deployments. It lets you manage projects and their stages like test, production, and staging with different settings.

It took a little longer because we got some feedback at Rails Conf Europe that we incorporated.

Further Webistrano now has its new home and own Trac/Wiki/Ticketsystem at the Peritor Labs. Peritor Labs is the place where we are going to release inhouse projects like Webistrano under the BSD license. At the moment there is only Webistrano but more will follow.

This means that the Subversion URL also changed. If you tracked Webistrano through svn, please switch to new URL:

svn switch --relocate http://webistrano.rubyforge.org/svn/trunk/ \
http://webistrano.rubyforge.org/svn/trunk http://labs.peritor.com/svn/webistrano/trunk

The major change in version 1.1 is a new shiny UI by the curtsy of Marcus Lamer.

Check out some new screenshots.

Further recipes are now associated to stages and not projects anymore so that different stages of a project can have different recipes. Webistrano now also set two variables inside recipes by default. Those two variables ( :webistrano_project and :webistrano_stage) are set to the project and stage name and can be used to do some decision making inside your recipes.

Upgrading from 1.0 is quite easy, just download the new version, copy your configuration files over and upgrade the database:

RAILS_ENV=production rake db:migrate

The roadmap for the next versions includes some basic monitoring capabilities and some form of permission management that lets you manage which user can deploy which projects and so on. The screencasts have not been updated yet but the content they provide is still valid, the only change is that recipes now belong to stages.

If you have any feedback, please comment here or use the Wiki.

Direct download link: webistrano-1.1.zip or at the Peritor Labs project page.

Comments

Leave a response

  1. Duncan RobertsonSeptember 29, 2007 @ 10:50 AM

    Fantastic work Jonathan! It was also good to meet you at RailsConf. As I mentioned, If I can provide any help with your roadmap when implementing my end I’ll send patches through for you choose whether to use or not. Best Duncan

  2. JonathanSeptember 29, 2007 @ 03:51 PM

    Hi Duncan,

    It would be nice to get some feedback on how your ideal permission management stuff would look like and what kinds of permissions you would like to have (deploy, view, change config, create/update recipes, user,....). If you have any patches, please create a ticket and add them there.

    http://labs.peritor.com/webistrano/newticket

  3. JuzzinSeptember 30, 2007 @ 06:11 AM

    I agree, fantastic work! A few questions:

    1. Can you override tasks such as ‘deploy:restart’ using a custom webistrano recipe? 2. For other deployment scenarios, e.g. nginx or Litespeed, should the ‘Rails’ template be used and then customized as needed by overriding default tasks (e.g. deploy:restart)? Or, should a new template be created? (e.g. litespeed_rails.rb)

  4. JonathanSeptember 30, 2007 @ 09:13 AM

    1. You can override provided tasks with a custom recipe.

    2. I would start be overriding the default deploy tasks as this data is stored in the database and will be preserved on each update of Webistrano. If your tasks are general enough for other people, you could submit the Litespeed or nginx templates as a patch, so that they will be included in future releases.

  5. roblOctober 02, 2007 @ 11:31 PM

    First of all thanks for this, it’s a great piece of software. I’m trying to setup webistrano to use SSH keys rather than have passwords for each configuration. I’m guessing as webistrano typically runs as www-data, this user would need entries in the authorized_keys file for each host it needed to deploy to – is this correct ?

  6. JonathanOctober 03, 2007 @ 07:20 AM

    @robl:

    Yes, this is correct. But the user on the remote hosts is typically not www-data but a special deployment user (I use `deploy`) that you configure under the parameter `user`.

    Capistrano has also explicit support for SSH-keys meaning that you can specify the key file like this:

    ssh_options[:keys] = %w(/path/to/my/key /path/to/another/key)

    At the moment you can not enter this directly in the config listing, you have to use a recipe. But if your SSH key is the default key for www-data, it should work nonetheless.

  7. roblOctober 03, 2007 @ 03:59 PM

    Hi, thanks for that :)

    One other quick question, whats the difference between a ‘normal’ user and an admin user – I’ve set both up and I can’t see any difference ?

  8. JonathanOctober 03, 2007 @ 04:05 PM

    @robl:

    At the moment not much :-)

    At the moment each user can deploy and manage everything. The roadmap includes some permission management (that admin users control) that will control who can deploy which projects/stages.

    So that you can say ‘only bob can deploy the prod stage of project X and all but Mike can deploy our blog’.

  9. Jack DempseyOctober 06, 2007 @ 10:49 PM

    Hi Jonathan,

    I’d been about to start something very similar to this, and lo and behold you’ve gone ahead and wonderfully beat me to it :-)

    One piece that I definitely do need is some fairly fine grained user permission/access control features. I’ve played around with various authorization plugins and found one, simply named ‘authorization’, to be pretty powerful. You can see its info here:

    http://www.writertopia.com/developers/authorization

    It looks like it hasn’t been actively developed in some time, but the features are pretty slick and easy to use. If you’re interested in chatting further, no reason I can’t work on building in things with your guidance so I get what I need anyway while giving a little something back. Please feel free to email me if you’re interested!

    Jack

  10. JonathanOctober 07, 2007 @ 06:35 PM

    @Jack:

    The next version will definitely include fine grained user permission/access control features. I haven’t looked into it too much right now, but I will have a look at ‘authorization’ and will come back to you.

  11. Jordan BroughOctober 16, 2007 @ 01:57 AM

    Are the urls above correct? I’d love to see the screenshots and check out webistrano but I’m getting timeouts…

  12. JonathanOctober 16, 2007 @ 05:42 AM

    @Jordan:

    Yes, they are correct, the server had a scheduled downtime and should be up again.