Desde el código fuente
Actualiza una instalación compilada desde el código fuente
- Antes de actualizar
- 1. Obtén la nueva release
- 2. Vuelve a compilar
- 3. Reinicia
- 4. Comprueba la actualización
- Volver atrás
Una instalación compilada desde el código fuente se actualiza haciendo checkout de la nueva release, volviéndola a compilar y reiniciando la aplicación. Tus ajustes, formularios, playbooks, certificados y logs se guardan en server/persistent, que ni Git ni la compilación modifican.
Antes de actualizar
Prepara la actualización para poder volver atrás si algo sale mal:
- Haz una copia de seguridad en Configuración → Copias de seguridad. La nueva release actualiza el esquema de la base de datos en su primer arranque.
- Lee el registro de cambios de las releases entre tu versión y la nueva.
- ¿Pasas a una nueva versión mayor? Sigue primero Actualizar a la v7.
- Comprueba la versión de Node.js que requiere la nueva release, en el registro de cambios.
1. Obtén la nueva release
Descarga las etiquetas de release y haz checkout de la release que quieras. Las etiquetas de release llevan el número de versión, y git tag las lista; la rama main puede contener cambios que todavía no se han publicado:
cd /srv/apps/ansibleforms
git fetch --tags
git checkout <version>
2. Vuelve a compilar
Vuelve a compilar con los mismos tres pasos que en la instalación. Primero vuelve a compilar el cliente:
cd client
npm ci
npm run build
Después actualiza las dependencias del servidor:
cd ../server
npm ci --omit=dev
Por último, vuelve a copiar el cliente compilado en la carpeta views del servidor:
rm -rf views
mkdir views
cp -r ../client/dist/. views/
Compara .env.example, en la raíz del repositorio, con tu persistent/.env para incorporar los ajustes que añada la release.
3. Reinicia
Reinicia la aplicación y su RTE para cargar el nuevo código. El esquema de la base de datos se actualiza en el primer arranque:
pm2 restart ansibleforms ansibleforms-rte
Si vienes de la 7.2, el RTE funcionaba en modo database, con los ajustes de la base de datos y RTE_URL, obsoleto en la 7.3.0 y eliminado en la 8.0.0. Vuelve a arrancarlo en modo inbound, y declara su runner con una credencial de RTE en la semilla o en Conexiones → Runners, como muestra la instalación: pm2 delete ansibleforms-rte, y después su comando pm2 start.
Si ejecutas la aplicación sin PM2, detén npm run start y vuelve a arrancarlo.
4. Comprueba la actualización
Sigue el log de la aplicación mientras arranca:
pm2 logs ansibleforms
En AnsibleForms, Ayuda → Acerca de muestra la versión que se está ejecutando, y Configuración → Estado muestra el estado de la base de datos, del esquema y de los demás sistemas de los que depende AnsibleForms.
Volver atrás
Para volver a la release que ejecutabas antes, la versión que mostraba Ayuda → Acerca de antes de la actualización, haz checkout de su etiqueta con git checkout <version>, y después vuelve a compilar y reinicia como en los pasos 2 y 3. Si esa release no arranca sobre la base de datos actualizada, restaura la copia de seguridad que hiciste en Configuración → Copias de seguridad.