Skip to content
Capistrano and Github sittin' in a tree...
Ruby CSS JavaScript CoffeeScript Shell
Latest commit c5aca1e Feb 10, 2013 @joelmoss Updated changelog
Failed to load latest commit information.
app Merge pull request #25 from hyfn/restrict-login Feb 10, 2013
db Generalize github_data to data Sep 20, 2012
lib add option to restrict login by username/org Oct 2, 2012
log Initial rails setup Nov 24, 2011
public block robots by default Oct 2, 2012
script Updated CHANGELOG and README Mar 22, 2012
spec Add .git folder for dummy repository in specs Dec 8, 2012
vendor Showing all tasks when no recent tasks exist Feb 13, 2012
.gitignore Add strano config to gitignore Mar 1, 2012
.powder Added whenever to gemfile Feb 13, 2012
.rvmrc Initial rails setup Nov 24, 2011
.travis.yml Updated changelog Feb 10, 2013
Capfile.repos Colorizing cap output Jan 24, 2012
Gemfile Ensuring we have latest Rails Feb 10, 2013
Gemfile.lock Ensuring we have latest Rails Feb 10, 2013
Guardfile Updated Gaurdfile Dec 8, 2012
MIT-LICENSE Added MIT license. Fixes #6 Mar 1, 2012 Add Travis CI Build Status image Dec 8, 2012
Rakefile Can now select the branch to deploy from Mar 23, 2012 Initial rails setup Nov 24, 2011

Strano Build Status

The Github backed Capistrano deployment management UI.

Strano allows you to run any capistrano task via a clean and simple web interface. Simply create a project from any of your Github repositories, and Strano will use the Capistrano configuration within the repository itself. Which means you don't have to set up Capistrano twice, and you can still run capistrano tasks from the command line without fear of different configurations being used, causing conflicted deploys.

All tasks are recorded, so you can look back and see a full history of who did what and when. I also plan on creating a Capistrano plugin, that will record all command line task activity with Strano. Which means your task history will also include the tasks that you ran on the command line.

Strano is in production use at ShermansTravel, but is still in active development. So I need your help to improve and ensure the code is top quality. So I encourage any and all pull requests. Fork away!

Task History


Strano is simply a Rails app with a Sidekiq backend for processing background jobs. Clone the repo from Github and run:


Then start the app:

bundle exec rails s

NOTE Strano cannot be run on Heroku, as the project repositories have to cloned to a local directory in your app at vendors/repos.


Strano requires that you define only three configuration variables. The rest are optional, but can be overridden. You can either create a config/strano.yml configuration file and define them in there, or you can define them in the ENV variable. See config/strano.example.yml for all possible configuration variables.

The following are required and should be defined before running Strano.

  • Github Key and Secret

    Create a Github application and copy the generated key and secret to: github_key and github_secret.

  • Public SSH key

    In order to clone repositories from Github, it requires a public SSH key be defined in public_ssh_key.

Background Processing

Background processing of tasks and repo management is taken care of by the excellent Sidekiq. Run the queue like this:

bundle exec sidekiq

You can then monitor your queue at http://YOUR-STRANO-APP/sidekiq. Check out the Sidekiq Wiki for assistance on Sidekiq and its options.


Strano is released under the MIT license:


Read the [Contributing][cb] wiki page first.

Once you've made your great commits:

  1. [Fork][1] Strano
  2. Create a topic branch - git checkout -b my_branch
  3. Push to your branch - git push origin my_branch
  4. Create a Pull Request from your branch
  5. That's it!
Something went wrong with that request. Please try again.