Actualizando una aplicación
Cuando se lanza una nueva versión de JHipster, el sub-generador de actualización de JHipster ayuda a actualizar la aplicación existente a esta nueva versión, sin borrar tus cambios.
Esto es útil para:
- Tener las últimas características de JHipster en una aplicación existente
- Obtener los cambios cuando haya un bug fix o una actualización de seguridad importante
- Retener tus cambios en tu código base y fusionarlos fácilmente con código generado recientemente
Por favor lee cuidadosamente esta página antes de hacer un upgrade, para entender cómo funciona el proceso de actualización.
Requerimientos
Para que este sub-generador funcione necesitas tener instalado git
de http://git-scm.com.
Ejecutando el sub-generador
Entra al directorio raíz de la aplicación:
cd myapplication/
Para actualizar tu aplicación, escribe:
jhipster upgrade
Aquí están las opciones que puedes pasar:
--verbose
- Hace un log detallado de cada paso del proceso de actualización--target-version=4.2.0
- Actualiza a la versión especificada en lugar del último release, útil si un proyecto está atrasado muchas versiones--force
- Ejecuta el sub-generador upgrade aún si no hay ninguna versión de JHipster disponible
Vista gráfica del proceso de actualización
Aquí está cómo funciona el proceso de actualización gráficamente (lee las secciones de abajo para tener una explicación textual):
(Esta imagen proviene de JSFiddle)
Por favor nota que la rama jhipster_upgrade
será creada huérfana en tu proyecto, aunque no se muestra correctamente en el gráfico de arriba.
Explicación del proceso de actualización paso por paso
A continuación se muestran los pasos procesados por el sub-generador _upgrade _de JHipster:
- Revisar si hay una nueva versión disponible de JHipster (no aplicable si estás usando
--force
) - Revisar si la aplicación ya ha sido inicializada como un repositorio git, o en caso contrario inicializará uno por ti y hará un commit el código base actual a la rama
master
. - Asegurar que no hay cambios locales sin guardar (commit) en el repositorio. El proceso se abortará si se encuentran cambios sin guardar.
- Revisa si existe una rama
jhipster_upgrade
. Si no, se crea una rama: los detalles sobre este paso se proporcionan en la sección "Pasos específicos ejecutados en la primera actualización". - Se mueve a la rama
jhipster_upgrade
- Actualiza de manera global a JHipster al la última versión disponible.
- Limpia el directorio del proyecto actual.
- Re-genera la aplicación usando el comando
jhipster --force --with-entities
. - Hace _commit _del código generado a la rama
jhipster_upgrade
. - Fusiona la rama
jhipster_upgrade
con la rama original desde donde se ejecutó el comandojhipster upgrade
. - Ahora solo necesitas proceder a resolver los conflictos del merge si es que hay.
!Felicidades, ahora tu aplicación está actualizada con la última versión de JHipster!
Pasos específicos ejecutados en la primera actualización
En la primera ejecución del sub-generador upgrade de JHipster, a fin de evitar el borrado de tus cambios, se ejecutan algunos pasos adicionales:
- Se crea una rama huérfana
jhipster_upgrade
(no tiene padre) - Se genera la aplicación completa (usando tu versión actual de JHipster).
- Se hace un block-merge en la rama master: no se hacen alteraciones en tu código base en la rama master; ésta es solo una forma práctica de grabar en Git que el HEAD de
master
está actualizado con la versión actual de JHipster.
Consejo
No hagas commit en la rama jhipster_upgrade
. Esta rama está dedicada al sub-generador upgrade de JHipster: cada vez que se ejecuta el sub-generador, se crea un nuevo commit.