- 追加された行はこの色です。
- 削除された行はこの色です。
-デプロイ自動化ツールCapistrano
*インストール [#f5f1b142]
gem install capistrano
-bundleでインストールしたほうが良いかも。以下のようにGemfileを記述する。
gem 'capistrano', '~> 3.0.1'
gem 'capistrano', '~> 3.4.0'
bundle installで3.4が入る!
*capistranoプロジェクトの作成 [#s0d4dab6]
mkdir test
cd test
cap install
**簡単なタスクを作ってみる [#rfc69efc]
-config/deploy/dev.rb
#
# Global options
# --------------
set :ssh_options, {
keys: %w(秘密鍵の場所),
forward_agent: false,
auth_methods: %w(publickey)
}
role :app, %w{[email protected] [email protected]}
task :customdeploy do
on roles(:app) do
# invokeでほかのタスクを呼ぶ
invoke "ls"
invoke "apacherestart"
end
end
# tomcat 再起動
task :apacherestart do
on roles(:app) do
execute "/etc/init.d/tomcat5 restart"
execute "/etc/init.d/httpd restart"
end
end
task :ls do
on roles(:app) do
execute "ls"
end
end
-実行
cap dev customdeploy --dry-run
*タスク [#gb1afd15]
デフォルトではいろいろなタスクがある。capistranoで決められた順番で実行されるが、
framework_tasks = [:starting, :started]で定義するとその順序で実施される?
*コマンド集 [#c364d44d]
|タスクの一覧表示|cap -T|
|実際に実行しないでコマンドのみ表示|--dry-runを付ける|
*設定ファイルの記述 [#de3771a5]
|画面にログ|puts|
|変数の設定|set|
|変数の取得|fetch|
|コマンド実行結果の取得|files = capture(:ls, '-xtr', '/var/tmp')|
*トラブルシューティング [#sab02619]
インストール直後のマシンcap install実施で、以下のエラーが出た。
cannot load such file -- io/console
-以下のコマンドで解消(gccが必要)
gem install io-console
*参考記事 [#jf25bc57]
-http://qiita.com/kazuph/items/deeaa7d3f9889674d7fe#2-9
-http://takkkun.hatenablog.com/entry/2013/10/12/Capistrano_3%E3%81%B8%E3%81%AE%E6%89%8B%E5%BC%95%E3%81%8D
-http://qiita.com/taizo/items/afff46a260bd11588962