-デプロイ自動化ツールCapistrano。デフォルトタスクで収まる場合は使う価値ありだが、余計なことをしすぎて使えないと判断。 *インストール [#f5f1b142] gem install capistrano -bundleでインストールしたほうが良いかも。以下のようにGemfileを記述する。 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 **Ansibleで代用 [#f9e07502] http://tdoc.info/blog/2015/01/14/deploying_with_ansible.html