Permalink
Browse files

README updates, rackup file, init script

  • Loading branch information...
Mat Brown
Mat Brown committed Aug 17, 2009
1 parent 6f9c40a commit e3683ca04b605f217f88a223dd2bef48fec4459b
Showing with 60 additions and 3 deletions.
  1. +24 −3 README.mkd
  2. +6 −0 config.ru
  3. +30 −0 example/clickistrano.sh
View
@@ -5,7 +5,7 @@ using a simple web interface. Clickistrano might be useful for you if:
* You have members of your team who need to run deployments, but don't keep a
copy of your source checked out (e.g. product managers, QA engineers).
-* You use eycap for deployments (i.e., capistrano with multiple environments).
+* You deploy using environment tasks (e.g. `cap qa deploy`)
* You use Github for source control hosting.
## Installation and Configuration
@@ -15,7 +15,7 @@ doing so. Just pick a good directory for the server, and check it out:
$ git clone http://github.com/outoftime/clickistrano.git
-Clickistrano is configured with a <code>config.yml</code> file in the root directory.
+Clickistrano is configured with a `config.yml` file in the root directory.
It requires the following keys:
<dt>account</dt>
@@ -27,12 +27,33 @@ It requires the following keys:
<dt>environment</dt>
<dd>The environment you want to deploy to (i.e., cap &lt;environment&gt; deploy)</dd>
+If you're running this on a new machine, you will need to add the machine's SSH
+public key to your EngineYard account.
+
+## Running it
+
+To start clickistrano as a daemon, run the following from the clickistrano
+directory:
+
+ $ thin start -R config.ru -d
+
+There is also a sample init file in `example/clickistrano.sh`
+
+## Requirements
+
+* capistrano
+* escape
+* json
+* rack
+* sinatra
+* thin
+
## How it works
When you access the front page (by default, localhost:4567 - see the Sinatra
docs for how to change that), you are presented with a simple form asking for
the git branch to deploy from. When the form is submitted, Clickistrano
-downloads the <code>Capfile</code> and <code>config/deploy.rb</code> files
+downloads the `Capfile` and `config/deploy.rb` files
from the specified branch of your repository on GitHub, and then forks a process
that runs the deployment. The web interface redirects to a page showing the
deployment status and a live-updating view of the deployment log.
View
@@ -0,0 +1,6 @@
+require 'rubygems'
+require 'sinatra'
+require './clickistrano'
+set :run, false
+set :environment, :production
+run Sinatra::Application
View
@@ -0,0 +1,30 @@
+#! /bin/sh
+
+GEMS_BIN=/var/lib/gems/1.8/bin
+CLICKISTRANO_ROOT=/home/deploy/clickistrano
+USER=deploy
+GROUP=deploy
+PORT=3000
+PIDFILE=/var/run/clickistrano.pid
+
+case "$1" in
+ start)
+ echo -n "Starting clickistrano"
+ cd $CLICKISTRANO_ROOT
+ $GEMS_BIN/thin start -R config.ru -d -u $USER -g $USER -p $PORT -P $PIDFILE
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping clickistrano"
+ cd $CLICKISTRANO_ROOT
+ $GEMS_BIN/thin stop -P $PIDFILE
+ rm $PIDFILE
+ echo "."
+ ;;
+
+ *)
+ echo "Usage: /sbin/service clickistrano {start|stop}"
+ exit 1
+esac
+
+exit 0

0 comments on commit e3683ca

Please sign in to comment.