Wie richte ich eine bestimmte verpflichten SHA mit Capistrano deploy
-
06-09-2019 - |
Frage
Ich frage mich, wie ich einen bestimmten Commit SHA in Git für die Bereitstellung ausrichten können, mit Capistrano? Es sollte so etwas wie
seincap deploy --version=<sha targeted>
Kann nicht scheinen, die Antwort auf diese nach einer Menge der Suche zu finden.
Lösung
Für Capistrano 2,9 bis 3,0:
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
Für ältere Versionen von Capistrano können Sie eine bestimmte git bereitstellen begehen / Baum / branch / Tag durch dies zu tun:
cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
In einigen Fällen kann es erforderlich sein, der auch die Umwelt als Argument angeben. production
ist nur ein Beispiel.
cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
Andere Tipps
molf Antwort nicht für mich arbeiten (mit Capistrano 2.11.2). Ich hatte „Revision“ anstelle des Zweiges zu verwenden, wie folgt aus:
cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy
Capistrano 3
In Ihrer deploy.rb
oder stadienspezifische Datei wie config/deploy/production.rb
set :branch, ENV.fetch('REVISION', 'master')
Auf diese Weise können Sie zu einer bestimmten git Revision zeigen. Er nimmt einen SHA, sondern auch alles, was zu einer echten Revision (z git tag, kommentierte Tag oder Zweig) aufgelöst wird.
es auf der Kommandozeile verwenden, indem Sie die REVISION
Umgebungsvariable, z.
bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993
bundle exec cap staging deploy REVISION=my-topic-branch
Frage: Zweig, 'Master'
Fordert zur Eingabe aber standardmäßig auf ‚Master‘, wenn Sie die Eingabetaste drücken.