capistranoでrailsじゃないものをdeployする

こんにちは,たにたにです.

Railsのデプロイツールとして有名なのがcapistranoですが,
TwitterのBotを更新するのにこれを使えないかと思って試行錯誤してみたので
忘れないうちにφ(..)メモメモ.

Botはユーザーストリームを取得してゴニョゴニョするので,ループをDaemonsでデーモン化する仕様にしていました.
Daemonsを使うと,ruby hoge.rb startとかruby hoge.rb stopという感じで
起動・停止できるので便利.
ただ,githubからpullして,sshでリモートログインして起動という作業をいちいち
やるのは面倒になので,どうにか一発でできないものかと思ってたどり着いたのが
capistranoでした.

capistranoをrailsアプリケーション以外で使うためのプラグインとして,
railsless-deployを使い,daemonsの起動・停止などを行うためのタスクをちょこっと追加しました.
各gemの使い方は別の記事を参考にしてね.

とりあえず,適当なプログラムを用意.目標は,これをリモート起動したりすること.

capistranoとそのプラグイン系のものは全部gemでインストールします.

capistrano-extは環境別にデプロイでやることを変えられるようにするもの.
capistrano_colorsは実行結果をカラー表示にして見やすくしてくれるものです.

rvm-capistranoを使うとデプロイ時にRVM環境を構築することもできます.

capistranoを使うためには,capifyコマンドで初期化を行います.

Capfileとconfigディレクトリが生成されます.
“./config/deploy.rb”に共通の設定,”./config/deploy/#{環境名}.rb”に環境ごとの設定を書き込んでいきます.

もっとスマートに書ける気がする...

設定が終わったらデプロイして実際に起動してみます.

これで無事起動できていたらOK.

プログラミング

Posted by tanitanin


PAGE TOP