LoginSignup
5
6

More than 5 years have passed since last update.

Capistrano 3.0 と連携しているgemたち

Posted at

Capって連携しているgemがたくさんあるので、なかなかそこらへんが大変なんす。

Cap 3.0 本体

他に書いてくれている人たくさんいるので割愛。
ただ、元のファイルは一度消すかrenameしないとcap install通らない。

Qiita内だとこの方のすごいストック。

Upgrade to Capistrano 3.0
http://qiita.com/katton/items/e5cca6c4f94d140ae2d6

SSHKitのSyntaxなどについてはこちらの方がすごい。
Capistrano 3への手引き - 今日のごはんは素麺です
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://www.capistranorb.com/

まあ、頑張って移行する。
特にrepositoryrepo_urlに変更になったのはすべての人に影響ありそう。

ちなみにデフォルト値はここにかいてある。
https://github.com/capistrano/capistrano/blob/master/lib/capistrano/defaults.rb

deploy.rbにコメントアウトされている値がそうとは限らないので注意。

Integrations

Whenever

素敵なPRが既にmergeされたので動きます。
https://github.com/javan/whenever/pull/387

下記バージョン以降で。

gem "whenever", "~> 0.9.0"

WheneverのREADMEにも書いてあるんですが、whenever_commandに値をいれても動かないです。
bundler使ってる人が今まで、bundle exec wheneverって上書きしていた分に関しては勝手にされるので触るな、ってことでした。

もしどうしてもやりたい場合はREADMEにかいてあるので読んでください。
https://github.com/javan/whenever

これは、SSHKitのissueだと書いてありますです。

RVM

cap 3.x用のcapistrano/rvmがあるので、新しいgem使いましょう。
https://github.com/capistrano/rvm

gem 'capistrano-rvm'

今まで使っていたrvm-capistranoと混ざらないように。

値の名前も少し変わっています。
rvm_typeは今まで通りですが、rvm_ruby_stringではなく、rvm_ruby_versionになっています。

これ以外の詳細はREADMEへ。
https://github.com/capistrano/rvm

Unicorn

capistrano-unicornは対応していない。

有志のgistから拾ってくるか、forkから頑張って拾うか。

素直にdeploy.rbに再起動のコマンド書いちゃってもいいと思うけど。

自分は以下のfork使ってます。
https://github.com/sepastian/capistrano-unicorn

その際、RVMとうまく噛み合わなかったので、
(capistrano-unicornがコマンドもりもり直書きしているため)
とりあえず下記な感じで逃げました。

deploy.rb
# TODO: Dirty hack for Unicorn Integration
set :unicorn_bundle, -> {
  "#{fetch(:rvm_path)}/bin/rvm #{fetch(:rvm_ruby_version)} do #{fetch(:bundle_cmd, 'bundle')}"
}

このgemに頼らずにイチから書いた方良さそうな気がムンムン。

Sidekiq

Capfileからrequireするようにすれば動くっぽいよ。

Airbrake

これも本家はだめっぽそうなので、PR支援しましょう。

https://github.com/airbrake/airbrake/pull/255
https://github.com/airbrake/airbrake/issues/247

あんまりAirbrakeのデプロイ通知は活用できてなかったので、放置しました。

最後に

Capfileにset書くと動かないよね?
load:defaultsのside effectsっぽいんだけど、これは仕様になっていくのだろうか?
たしかに設定はdeploy.rbに書いた方がスッキリしそうだけどね。

おしまい。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6