読者です 読者をやめる 読者になる 読者になる

xengineer’s diary

結果、メモ的な内容になっています。

グローバル変数の指定方法が変わったのね(capistrano)

すごく久しぶりに、capistranoを使ってるシステムを触ったときのこと。(昨日だけど)

確かこのシステムは、release tagを指定して、capistranoを実行するようにしてたんだけど・・・

そもそも、どんなコマンド叩いてデプロイするのかすら忘れていて、

そこまでたどり着くのが大変でした。

紆余曲折、実行コマンドを思い出して、いざ実行!

$ cap -S branch="UNKOBRANCH" development deploy
invalid option: -S

そして間髪入れずエラー。ナイスレスポンス。

ぐぐったらすぐ出てきた。環境変数に設定しろカス!とのことでした。

-S option gone? How do I pass a parameter now? · Issue #807 · capistrano/capistrano · GitHub

上のgithub上では、「ver3.0.0から」って書いてあるけど、、、

僕最初からver3.0.0使ってた気がするんだけどな・・・

なんか間違ってたのかな・・・

なんにせよ、修正。

これまでの記述方法と実行コマンド

記述方法

# config/deploy.rb
set :branch, fetch(:branch, 'master')

実行コマンド

$ cap -S branch="UNKOBRANCH" development deploy

capistrano ver.3.0.0以降の記述方法

記述方法

# config/deploy.rb
set :branch, ENV["REVISION"] || ENV["BRANCH_NAME"]

実行コマンド

$ REVISION='latest_revision_ver2.0_2ndEdition' cap development deploy

これでみんなはっぴー。

おしまい。