capistrano デプロイで特定のコミット SHA をターゲットにする方法
-
06-09-2019 - |
質問
Capistrano を使用して、Git の特定のコミット SHA をデプロイメントのターゲットにするにはどうすればよいでしょうか?それは次のようなものであるはずです
cap deploy --version=<sha targeted>
たくさん検索してもこれに対する答えが見つからないようです。
解決
Capistrano 2.9 から 3.0 の場合:
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
Capistrano の古いバージョンの場合, 、次のようにして、特定の git commit/tree/branch/tag をデプロイできます。
cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
場合によっては、引数として環境を指定する必要がある場合もあります。 production
はほんの一例です。
cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
他のヒント
molfの答えは(カピストラーノ2.11.2を使用して)私のために動作しませんでした。私はこのように、代わりに支店の「改正」を使用していた。
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
カピストラーノ 3
あなたの中で deploy.rb
または次のようなステージ固有のファイル config/deploy/production.rb
set :branch, ENV.fetch('REVISION', 'master')
これにより、特定の git リビジョンを指すことができます。SHA だけでなく、実際のリビジョンに解決されるもの (例:git タグ、アノテーション付きタグ、またはブランチ)。
コマンドラインで設定して使用します。 REVISION
環境変数、例:
bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993
bundle exec cap staging deploy REVISION=my-topic-branch
あなたがリターンを押すと、尋ねる:ブランチ、 'マスター'
「マスター」に入力しますが、デフォルトのプロンプトが表示されます。
所属していません StackOverflow