WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

Capistranoで特定のコミットをデプロイする

      2015/05/19

デプロイしたいコミットのSHA1を以下の書式で指定すれば当該コミットまでをデプロイすることができる。

cap -S revision=24503a2fbb107449cda1b656584e35ad36e1b538 staging deploy

例えば上記は、以下のようにコミットがあったとしたら「設定ファイルのホスト名をDRYに」というコミットまでをデプロイすることを意味する。

4dc82271b91fbf93ccfda05ffb94df9dd99c5bb4 Merge pull request #90 from tanaka/work
be1baf94f17e5a2851e53d38a633602f08626874 ランディングページの文言修正
386811496bfb8175b64a40d9779e29e877e0681b Merge pull request #89 from okishima/fix-config
24503a2fbb107449cda1b656584e35ad36e1b538 設定ファイルのホスト名をDRYに
c9131a2b10815ae1d93de1dcb163fe93b81b1129 設定ファイルのホスト名の値によってテストが失敗する問題を修正
cf1126febb06b771942a511f1d0b76e7952d6336 Merge pull request #88 from okishima/feature-category-test
25d320356ca2479ce0f8c01b65a738ec71e09e80 カテゴリ管理に関するシナリオを作成
afe6fe12b1bdea3bae56c166f8dd5bdb1c972ceb Cucumberの設定変更

これは、”24503a2fbb107449cda1b656584e35ad36e1b538″の祖先である”c9131a2b10815ae1d93de1dcb163fe93b81b1129″や”cf1126febb06b771942a511f1d0b76e7952d6336″も含まれ、”24503a2fbb107449cda1b656584e35ad36e1b538″だけをデプロイするという意味ではない。
“24503a2fbb107449cda1b656584e35ad36e1b538″までの歴史はすべて含んでデプロイが行われる。

どうしても特定のコミットだけをデプロイしたい場合は、ブランチを切ってそこにcherry-pickし、そのブランチをデプロイ対象とする方法がある。
ブランチの変更はデプロイレシピを以下のように修正すればOK。

set :branch, "branch_name_here"

 - Ruby , , ,