Capistrano on Solaris

As you probably already know, if you’re deploying Rails webapplications you should be using Capistrano

If you don’t know Capistrano then google it.

One of my clients purchased Container Hosting (aka Accelerator Hosting) on Textdrive

I must admit it’s wicked fast, and I love seeing my Rails webapplications fly, however the Container Hosting runs on Solaris which does some things slightly different than your standard Linux distros.

Therefore you need to make some edits to the standard Capistrano deployment recipe. In config/deploy.rb I modified two tasks:

  • restart
  • symlink

For restart I made it call special restart shell scripts I wrote.

For symlnk I found that the symlink command is slightly different this I how I modified it:


  task :symlink, :roles => [:app, :db, :web] do
    on_rollback { run "ln -nfs #{previous_release} #{current_path}" }
    run "rm -f #{current_path}"
    run "ln -nfs #{current_release} #{current_path}"
  end

So if you are using Solaris and Rails be prepared to do a little Capistrano editing to make things deploy smoothly.

Comments are closed.

Capistrano on Solaris

As you probably already know, if you’re deploying Rails webapplications you should be using Capistrano

If you don’t know Capistrano then google it.

One of my clients purchased Container Hosting (aka Accelerator Hosting) on Textdrive

I must admit it’s wicked fast, and I love seeing my Rails webapplications fly, however the Container Hosting runs on Solaris which does some things slightly different than your standard Linux distros.

Therefore you need to make some edits to the standard Capistrano deployment recipe. In config/deploy.rb I modified two tasks:

  • restart
  • symlink

For restart I made it call special restart shell scripts I wrote.

For symlnk I found that the symlink command is slightly different this I how I modified it:


  task :symlink, :roles => [:app, :db, :web] do
    on_rollback { run "ln -nfs #{previous_release} #{current_path}" }
    run "rm -f #{current_path}"
    run "ln -nfs #{current_release} #{current_path}"
  end

So if you are using Solaris and Rails be prepared to do a little Capistrano editing to make things deploy smoothly.

Comments are closed.