php版capistranoのRocketeerを使ってdeployしてみる

開発環境から気軽にdeployできる方法をphpでやってみた。 capistranoだとrailsアプリ前提だったので(もちろんRailsアプリ以外もいけるけど)

概要

Rocketeer

やってくれることはシンプル. capistranoと同じで、deployするclientからリリース環境に対してdeployをやるという構成。 指定したユーザーでssh接続して、deployの度にreleaseディレクトリに最新のアプリケーションを持ってくる。 そしてdocument rootが設定されたcurrentに対して、symbolic linkでアプリケーションを公開を切り替えるというもの。

利用するにあたって下記の3つの前提条件だけ. * git * ssh接続設定 * deploy先にcomposerが事前にインストールされていること

基本的な使い方はcomposerと同じ感覚。

使い方

cd ${application-directory}
wget http://rocketeer.autopergamene.eu/versions/rocketeer.phar
php rocketeer.phar ignite

上記コマンドで、deploy用の設定がディレクトリに書かれる

./.rocketeer └ config.php --deploy先にssh接続するための設定
└ hooks.php --deployにhookする処理を書く
└ logs --deployのログ
└ paths.php --phpや、composer等のパスを書く
└ remote.php --deploy先の設定を書く
└ scm.php --gitやsvnの設定を書く
└ stages.php --productionやstagingの設定を書く

上記設定ファイルの勘所はわからないので、後々運用したら書いてみる

php rocketeer.phar deploy

※composer経由で、installして、/vendor/bin/rocketeerから同じことをたたいたら、エラーがでたのですが、わかりませんでした。 どなたかお詳しいかたいらっしゃいましたら教えて下さいm(__)m