2011-05-29 10 views
9

Por lo tanto, estoy tratando de implementar una implementación tipo heroku sin usar capistrano. la llegada e instalación gemas que estoy tratando de usar el gancho git y poner los siguientes comandos en/ganchos/post-recepción:¿Cómo hacer la instalación del paquete utilizando un gemset rvm específico de git hook post-receive?

bundle check || bundle install 

Pero cuando corro git push me sale:

remote: hooks/post-receive: line 20: bundle: command not found. 

I Entiendo que un anzuelo probablemente lanza comandos desde un entorno incorrecto y de alguna manera tengo que cambiar el entorno de rvm del anzuelo. Intenté usar rvm use [email protected] en la recepción posterior, pero no sirvió. ¿Algunas ideas?

+2

¿Cómo se instala RVM en el sistema de destino? ¿Globalmente o solo para un solo usuario? ¿El usuario del sistema git tiene acceso a rvm (también está en el grupo rvm)? Tal vez tenga que obtener el entorno rvm primero en el gancho post-recepción (porque creo que los ganchos no crearán una sesión shell con las fuentes/configuraciones correctas). – asaaki

+0

Creo que su pregunta está relacionada con esto: http://stackoverflow.com/questions/23979647/bundle-install-not-running-from-my-post-update-hook –

Respuesta

1

Quizás esto gist te ayude!

Felicitaciones al propietario de la esencia!

+0

Parece una buena configuración pero no funciona Hago cualquier cosa sobre el tema PATH hasta donde yo sé. – isaacsloan

6

Es posible que sólo tiene que asegurarse de que Fuente entorno del usuario en la parte superior del gancho, por ejemplo:

$ source $HOME/.bash_profile # single user RVM setup 
$ source /etc/profile  # multi user RVM setup 
+2

Estaba teniendo exactamente el mismo problema (sin embargo, no estoy usando RVM, tengo una sola versión de Ruby instalada). La solución que sugirió no funcionó para mí, pero me permitió descubrir que el problema era con el PATH. ¡Gracias por eso! Lo que funcionó para mí fue incluir la carpeta bin de Ruby en la ruta al comienzo del enlace posterior a la recepción (por ejemplo, 'PATH = $ PATH:/home/deploy/ruby_2.1.1/bin'). –

Cuestiones relacionadas