Domanda

Mi chiedo come posso indirizzare una specifica impegnarsi SHA in Git per la distribuzione, utilizzando Capistrano? Dovrebbe essere qualcosa del tipo

cap deploy --version=<sha targeted>

Non riesco a trovare la risposta a questo dopo un sacco di ricerca.

È stato utile?

Soluzione

Per Capistrano 2.9 fino a 3.0:

cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

Per le versioni precedenti di Capistrano , è possibile distribuire un particolare git commit / albero / ramo / tag in questo modo:

cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

In alcuni casi ci può essere una necessità di specificare l'ambiente come un argomento come bene. production è solo un esempio.

cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

Altri suggerimenti

La risposta di molf non ha funzionato per me (utilizzando Capistrano 2.11.2). Ho dovuto usare "revisione" al posto del ramo, in questo modo:

cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

Capistrano 3

Nel vostro deploy.rb o file specifico stadi come config/deploy/production.rb

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

Questo consente di puntare ad una specifica versione Git. Accetta uno SHA, ma anche tutto ciò che si risolve in una vera e propria revisione (per esempio git tag, tag annotated, o filiale).

Si usa sulla linea di comando impostando la variabile di ambiente REVISION, per esempio.

bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993

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

chiedere: ramo, 'master'

Prompt per l'ingresso, ma il valore predefinito è 'master' se si preme il ritorno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top