2014年1月15日水曜日

minaをインストール

■環境
CentOS 5.9
Ruby ruby 1.9.3p125
gem 2.1.4
mina 0.3.0

■インストール
cd /var/tmp
touch Gemfile
vim Gemfile
cat Gemfile
source :rubygems

gem 'mina'
bundle install --path vendor/bundle
bundle exec mina init
  すると「/var/tmp/config/deploy.rb」が作成されます

■設定
vim /var/tmp/config/deploy.rb
set :domain, 'hostname'
set :deploy_to, '/var/tmp/deploy'
set :user, 'root'
set :repository, 'https://github.com/kakakikikeke/ruby-kakabot.git'

#invoke :'rails:db_migrate'
#invoke :'rails:assets_precompile'
  今回はrailsアプリでなくDBも使っていないため上記2行をコメントアウトします
  コメントアウトしないとrakeファイルがない(No Rakefile found)と言われてデプロイに失敗します

■デプロイ先設定
cd /var/tmp
bundle exec mina setup
  設定に合わせた事前準備を先ほど設定ファイルに記載したデプロイ先に対して実行します

■デプロイ実行
cd /var/tmp
bundle exec mina deploy
ls /var/tmp/deploy/releases/1/
  にgitからcloneしたデータがデプロイされていると思います

■Tips
・mina tasks
実行できるタスクの一覧を表示してくれます
・gem install mina --no-rdoc --no-ri
・mina init
上記の手順でもインストールと初期設定ができるみたいなんだけどGemfileがないためCould not locate Gemfileとなって怒られてしまいます
・デプロイ先ホストへのSSHノンパス設定
今回は同一ホストに対して実施しましたがデプロイ先のサーバに対してはSSHのノンパスログインを設定する必要があります
公開鍵を使ったSSHのノンパス設定方法は以下を参照してください
http://kakakikikeke.blogspot.jp/2012/03/10ssh.html
・cap shell的なコマンド
capistranoでいうところの「cap shell」みたいなコマンドはあるのか気になりました
mina console というタスクがデフォルトで用意されていたのでそれかなと思い実行したので裏側はrails console を実行していたので違うっぽい(?、未検証)
⇒mina run["ls -la"]といった感じで実行するとcap shellと同じようなことができるようです

■参考サイト

今回はデフォルトのレシピを使ってデプロイしてましたが次回は独自のレシピを使って実行してみたいと思います

0 件のコメント:

コメントを投稿