2009-05-27 8 views

Antwort

63

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 commit/Baum/branch/Tag, indem Sie diese einsetzen:

cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 

In einigen Fällen muss möglicherweise auch die Umgebung als Argument angegeben werden. production ist nur ein Beispiel.

cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
+0

ist das der SHA für ein bestimmtes Commit? –

+1

Der Zweig wird mit "git checkout " an git übergeben, also sollte eine Commit-ID genauso gut funktionieren wie eine Baum-ID, ein Zweigname usw. – molf

+0

Diese Antwort funktioniert nicht für mich, siehe @eahansons Antwort unten. –

17

molf Antwort für mich nicht funktioniert hat (mit Capistrano 2.11.2). Ich hatte "Revision" anstelle des Zweiges zu verwenden, wie folgt aus:

cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
+0

Arbeiten 100% gut in 2.14.2 –

+3

Nun, 2.11.2 ist über 2.9, und Sie verwenden die oben für 2.9 erwähnte Syntax. Fehle ich etwas? –

8

Capistrano 3

In Ihrem deploy.rb oder stadienspezifische Datei wie config/deploy/production.rb

set :branch, ENV.fetch('REVISION', 'master') 

Dies ermöglicht es Ihnen, zeigen Sie auf eine bestimmte Git Revision. Es akzeptiert eine SHA, aber auch alles, was zu einer echten Revision führt (z. B. Git-Tag, annotiertes Tag oder Verzweigung).

Verwenden Sie es in der Befehlszeile, indem Sie die Umgebungsvariable REVISION, z.

bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993 

bundle exec cap staging deploy REVISION=my-topic-branch 
+0

Gibt es eine Möglichkeit, die Verzweigung als Befehlszeilenargument zu übergeben? – marcovtwout

+0

Ich weiß nicht, wie ich das machen soll. –

+0

@marcovtwout ja das ist möglich, sehen Sie die aktualisierte die Antwort. – Dennis

0

fragen: Zweig, 'Master'

Prompts für die Eingabe aber standardmäßig auf 'Master', wenn Sie die Eingabetaste drücken.

Verwandte Themen