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
ygit 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:
- En la rama
master
: (a)git push
empuja el código a GitHub, y (b)git push heroku
empuja el código amy-app-staging
enmy-app-staging
en Heroku - En la
production
sucursales: (c)git push
envía el código a la rama deproduction
en GitHub, y (d)git push heroku
empuja el código deproduction
amy-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.