Pregunta

Me pregunto cómo puedo apuntar a un determinado comprometerse SHA en Git para el despliegue, el uso de Capistrano? Debe ser algo así como

cap deploy --version=<sha targeted>

Parece que no puede encontrar la respuesta a esta después de un montón de búsqueda.

¿Fue útil?

Solución

Para Capistrano 2,9 hasta 3,0:

cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

Para versiones anteriores de Capistrano , se puede implementar un idiota particular, se comprometen / árbol / rama / etiqueta al hacer esto:

cap -s branch=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

En algunos casos, puede haber una necesidad de especificar el medio ambiente como un argumento así. production es sólo un ejemplo.

cap production -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

Otros consejos

La respuesta de molf no funcionó para mí (usando Capistrano 2.11.2). Tuve que usar "revisión" en lugar de rama, así:

cap -S revision=80655da8d80aaaf92ce5357e7828dc09adb00993 deploy

Capistrano 3

En su deploy.rb o archivo de la etapa específica como config/deploy/production.rb

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

Esto le permite apuntar a una revisión git específica. Acepta una SHA pero también cualquier cosa que se resuelve en una revisión real (por ejemplo git tag, etiqueta anotado, o rama).

Se usa en la línea de comandos mediante el establecimiento de la variable de entorno REVISION, por ejemplo.

bundle exec cap production deploy REVISION=80655da8d80aaaf92ce5357e7828dc09adb00993

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

preguntar: rama, 'maestro'

solicitudes de entrada pero pasará al 'maestro' si pulsa retorno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top