2009-05-27 5 views

Répondre

63

Capistrano 2.9 jusqu'à 3.0:

cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 

Pour les anciennes versions de Capistrano, vous pouvez déployer un git particulier COMMIT/arbre/branche/tag en faisant ceci:

cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 

Dans certains cas, il peut être nécessaire de spécifier l'environnement en tant qu'argument. production est juste un exemple.

cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
+0

est que le SHA pour une validation spécifique? –

+1

La branche sera passée à git avec "git checkout ", donc un identifiant de validation devrait fonctionner aussi bien qu'un identifiant d'arborescence, un nom de branche, etc. – molf

+0

cette réponse ne fonctionne pas pour moi, voir la réponse de @eahanson au dessous de. –

17

La réponse de molf n'a pas fonctionné pour moi (en utilisant capistrano 2.11.2). Je devais utiliser la "révision" au lieu de la branche, comme ceci:

cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy 
+0

Travailler 100% bien dans 2.14.2 –

+3

Eh bien, 2.11.2 est supérieur à 2.9, et vous utilisez la syntaxe mentionnée pour 2.9 ci-dessus. Est-ce que je manque quelque chose? –

8

Capistrano 3

Dans votre fichier spécifique au stade deploy.rb ou comme config/deploy/production.rb

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

Cela vous permet de pointer vers une révision git spécifique. Il accepte un SHA mais aussi tout ce qui résout une vraie révision (par exemple un tag git, un tag annoté ou une branche).

Utilisez-le sur la ligne de commande en définissant la variable d'environnement REVISION, par ex.

bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993 

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

Existe-t-il un moyen de passer la branche en tant qu'argument de ligne de commande? – marcovtwout

+0

Je ne connais pas un moyen de le faire. –

+0

@marcovtwout oui c'est possible, voir la mise à jour la réponse. – Dennis

0

demander: branche, 'maître'

Aller se entrée, mais par défaut 'maître' si vous appuyez sur retour.

Questions connexes