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

sein
cap deploy --version=<sha targeted>

Kann nicht scheinen, die Antwort auf diese nach einer Menge der Suche zu finden.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top