tipos tag remove qué oneline log hace existen etiquetas crear git heroku git-branch staging dev-to-production

git - tag - ¿Cómo paso diferentes ramas a diferentes aplicaciones heroku?



tipos de etiquetas en git (1)

He estado trabajando en una aplicación web que se envía al heroku. La fuente está alojada en GitHub.

Entonces git push empuja la rama principal a GutHub.

Mi ''maestro'' de git branch está conectado a la aplicación de Heroku '' my-app-staging ''

Así que git push heroku empuja la aplicación a my-app-staging.herokuapp.com

Creé una nueva aplicación Heroku que será la aplicación de "producción", llamémosla " my-app-prod ".

He creado una rama que ahora se llama '' production '' (es decir, git checkout -b production ) y he ejecutado la git push -u origin production para convertirla en una rama administrada en GitHub.

Ahora quiero vincular la rama de production a my-app-prod.herokuapp.com modo que, cuando me cambio a la rama de production , simplemente escriba git push heroku (o tal vez la git push prod-heroku production o similar) y voila - el la rama de producción se envía a la aplicación de producción.

¿Cuál es la forma recomendada de vincular mi rama de production a my-app-prod en Heroku?

Me he revolcado en los documentos de Heroku sobre esto, pero todos asumen que he configurado mis aplicaciones usando la CLI heroku create , no configuré mis aplicaciones a través del sitio web de Heroku, sin embargo, el siguiente párrafo me da vueltas:

Es simple escribir git push staging master y git push production master cuando hayas seguido los pasos anteriores. Sin embargo, a muchos desarrolladores les gusta aprovechar las ramas de git para separar el código listo para el progreso y el código de producción. En este tipo de configuración, puede desplegar en producción desde su rama principal, fusionándose en cambios desde una rama de desarrollo una vez que hayan sido revisados ​​en la aplicación de transición. Con esta configuración, empujar es un poco más complicado:

Donde quiero terminar es lo siguiente:

  1. En la rama master : (a) git push empuja el código a GitHub, y (b) git push heroku empuja el código a my-app-staging en my-app-staging en Heroku
  2. En la production sucursales: (c) git push envía el código a la rama de production en GitHub, y (d) git push heroku empuja el código de production a my-app-prod en Heroku.

Dado que el paso 1 anterior ya está en su lugar y el paso 2 (c) está en su lugar, ¿cómo logro el paso 2 (d)?


Debería agregar otro control remoto para my-app-prod llamado prod-heroku (reemplace GIT_URL con la URL de Git que puede encontrar en la página de configuración de my-app-prod en heroku):

git remote add prod-heroku GIT_URL git push prod-heroku production:master

Esto impulsará la producción de su sucursal local al maestro de sucursal remota en prod-heroku para que my-app-prod se implemente con el código en la rama de producción.