Question

Je me demande comment je peux cibler un engagement spécifique SCS dans Git pour le déploiement, l'utilisation Capistrano? Il devrait être quelque chose comme

cap deploy --version=<sha targeted>

Ne peut pas sembler trouver la réponse à cette après beaucoup de recherche.

Était-ce utile?

La solution

Pour 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 comme un argument aussi. production est juste un exemple.

cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

Autres conseils

La réponse de Molf ne fonctionne pas 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

Capistrano 3

Dans votre deploy.rb ou d'un fichier spécifique étape comme config/deploy/production.rb

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

Cela vous permet de pointer à une révision git spécifique. Il accepte un SHA, mais aussi tout ce qui résout à une véritable révision (par exemple étiquette git, étiquette annotée ou branche).

Il permet sur la ligne de commande en définissant la variable d'environnement REVISION, par exemple.

bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993

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

demander: branche, 'maître'

Invites pour l'entrée, mais par défaut « maître » si vous appuyez sur retour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top