Problemas de EC2 Rails Git: primer empuje funcionó, pero nada está actualizando ahora

Actualmente tengo un control remoto para una instancia EC2 configurada en mi repository git local. El empuje funciona

git push remote_name master Delta compression using up to 4 threads. Compressing objects: 100% (10/10), done. Writing objects: 100% (12/12), 896 bytes | 0 bytes/s, done. Total 12 (delta 6), reused 0 (delta 0) To user_name@dns:eko_web.git 4342c41..7bbc7db master -> master 

Cuando entro al EC2 remoto, puedo encontrar el primer impulso que hice copydo sobre mi aplicación a var / app / current / pero no más actualizaciones. Cuando miro en mi repository de git al descubierto, encuentro mis más recientes bashs cuando hago git show HEAD:<some_file> . Cuando edito manualmente la vista en var / app / current, el cambio no se refleja en mi website; el mismo impulso inicial es todo lo que veo. Tengo una configuration de gancho en la post-recepción del repo de git al descubierto que es el siguiente:

 #!bin/sh GIT_WORK_TREE=/var/app/current git checkout -f 

Como resumen general, utilicé los siguientes tutoriales para llegar hasta aquí. http://myrailslearnings.wordpress.com/2013/02/19/getting-ec2-to-use-git-for-rails-app/ http://www.lovholm.net/2013/06/26/push- su-código-en-su-ec2-instancia-con-git /

Gracias por cualquier idea sobre esto!

Editar:

Por la sugerencia de Per Rico, comencé una nueva instancia que no se había inicializado con Beanstalk. Ahora tengo un repo git en la instancia que (cuando se actualiza manualmente) refleja los cambios en el server. Pero todavía tengo problemas para empujar de forma remota a esa location; muestra un empujón exitoso pero luego los files están ahí pero no confirmados. Si los envío manualmente y luego reinicio el server, el website se actualiza.

Hay muchas maneras en que puede hacer la implementación. Desplegar presionando directamente a un repository de git no puro se puede hacer, pero no es tan común. (Como http://www.lovholm.net/2013/06/26/push-your-code-onto-your-ec2-instance-with-git/ describe) Hay cosas que debe observar. Por ejemplo, no puede enviar a una sucursal de repository remoto si esa twig está desprotegida.

Desde el punto de vista que estaba implementando a través de Elastic Beanstalk inicialmente o algo así porque / var / app / current es la location pnetworkingeterminada donde implementa las aplicaciones de Rails (cuando hace un git aws.push) Tenga en count que en una implementación regular de Elastic Beanstalk / var / app / current no contiene un git repo. Es solo una copy de tu código (El repository de git está guardado en otro lado, creo en S3)

La forma más común de implementar desde git es tener tu git repo en github, bitbucket o un repository de git en la nube. Digamos que usas github. En el momento del deployment, presionaría en el repository de github y luego se implementaría el nuevo código mediante clonación o extracción desde el repository de github a su server de la nube. Capistrano es una de las herramientas que automatiza este process.

Otra forma de implementar es presionar a un repository de Git desnudo en el mismo server EC2 en el que está implementando y luego extraer / clonar de ese repository vacío a otro repository no pelado en el mismo server.

En su caso, también puede intentar cambiar su repository remoto a cero si desea ver el código allí. La manera más fácil, supongo, es borrar su repository desnudo y luego clonar el original como un repository no desnudo y pegarlo donde desee desplegar su código.