Capistranoを使用してGitで特定のコミットSHAをどのように配置することができますか?それは何かのようにすべきであるカピストラを配備して特定のコミットSHAをターゲットにする方法
cap deploy --version=<sha targeted>
多くの検索の後、これに対する答えを見つけることができないようです。カピストラーノ2.9の場合
Capistranoを使用してGitで特定のコミットSHAをどのように配置することができますか?それは何かのようにすべきであるカピストラを配備して特定のコミットSHAをターゲットにする方法
cap deploy --version=<sha targeted>
多くの検索の後、これに対する答えを見つけることができないようです。カピストラーノ2.9の場合
3.0まで:カピストラーノの古いバージョンの
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
、あなたはこれを行うことにより、コミット/ツリー/ブランチ/タグの特定のgitを展開することができます
cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
場合によっては、環境を引数として指定する必要がある場合もあります。 production
は例です。
cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
molfの回答は私にとっては機能しませんでした(capistrano 2.11.2を使用)。これはにあなたを可能に
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
2.14.2で100%の罰金を科す –
2.11.2は2.9を超えており、上記の2.9の構文を使用します。何か不足していますか? –
カピストラーノあなたdeploy.rb
またはステージ固有のファイルで3
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
コマンドライン引数としてブランチを渡す方法はありますか? – marcovtwout
私はそれを行う方法を知らない。 –
@marcovtwout可能です。答えを更新してください。 – Dennis
尋ねる:あなたはリターンを押すとブランチは、 'マスター'
は、 'マスター' に入力しますが、デフォルトのプロンプトが表示されます。
は、特定のコミットのためのSHAですか? –
ブランチは "git checkout"と一緒にgitに渡されるので、コミットIDはツリーID、ブランチ名などと同じくらいうまくいくはずです –
molf
この回答は私にとってはうまくいかない、@eahansonの答えを見てください以下。 –