¿Cómo puedo implementar 2 aplicaciones de raíles desde un único repository de Git?

Tengo 2 aplicaciones de Rails que viven dentro del mismo repository git.

Hay una carpeta compartida donde vive la lógica común.

- app_1 - shanetworking - app_2 

La carpeta shanetworking es realmente solo un enlace simbólico a los lugares apropiados dentro de la carpeta app_1 . También hay una carpeta shanetworking_public que está app_1/public/files a app_1/public/files y app_2/public/files .

¿Cómo puedo hacer esto? Estoy abierto a todo, es borrón y count nueva. El proyecto nunca se implementó previamente, por lo que no tengo una infraestructura existente en la que confiar. Y dividir la lógica compartida es (desafortunadamente) no una opción actualmente, debido al marco de time con el que tengo que trabajar.

Git

Cuando mencionas que la carpeta shanetworking es un symlink , esto solo existe en los sistemas operativos, no en el sistema operativo.

Dado que git es solo un mecanismo de implementación en esta instancia (IE colocará los files de su repo en su server), es probable que pueda hacer lo siguiente:

  • Inicializa un git repo en tu server ( $ git init en tu server)
  • github tu repository github localmente ( git clone https://github.com.... en tu casilla local)
  • CD en su nueva carpeta y agregue el repository del server como un control remoto
  • $ git push [server repo name] master

Esto no es lo que quieres, lo sé.

Transfiere tus files a tu server, por lo que obtendrás la siguiente estructura de carpetas:

  • app1
  • app2

La carpeta shanetworking podría crear en su server.

Si tiene la configuration de server adecuada, debería poder ejecutar esta ejecución de estos pasos


Capistrano

Si quieres usar Capistrano, tendrás que hacer algo un poco más complicado, ya que esto hace más que simplemente enviar tus files a tu server

Si desea utilizar Capistrano , deberá dividir su app1 y app2 en aplicaciones separadas, y desplegarlas individualmente. Esto aún le permitirá crear un enlace simbólico en su server, excepto que tendrá una estructura ligeramente diferente a la de sus directorys.