Des del codi font
Actualitza una instal·lació compilada des del codi font
- Abans d’actualitzar
- 1. Obtén la versió nova
- 2. Torna a compilar
- 3. Reinicia
- 4. Comprova l’actualització
- Tornar enrere
Una instal·lació compilada des del codi font s’actualitza obtenint la versió nova, tornant-la a compilar i reiniciant l’aplicació. La teva configuració, els formularis, els playbooks, els certificats i els registres es desen a server/persistent, que ni Git ni la compilació modifiquen.
Abans d’actualitzar
Prepara l’actualització de manera que puguis tornar enrere si alguna cosa va malament:
- Fes una còpia de seguretat a Configuració → Còpies de seguretat. La versió nova actualitza l’esquema de la base de dades en el primer inici.
- Llegeix el registre de canvis de les versions entre la teva i la nova.
- Passes a una versió major nova? Segueix primer Actualitzar a la v7.
- Comprova la versió de Node.js que necessita la versió nova, al registre de canvis.
1. Obtén la versió nova
Obtén les etiquetes de les versions i fes checkout de la versió que vulguis. Les etiquetes de versió porten el número de versió, i git tag les llista; la branca main pot contenir canvis que encara no s’han publicat:
cd /srv/apps/ansibleforms
git fetch --tags
git checkout <version>
2. Torna a compilar
Torna a compilar amb els mateixos tres passos que en la instal·lació. Primer torna a compilar el client:
cd client
npm ci
npm run build
Després actualitza les dependències del servidor:
cd ../server
npm ci --omit=dev
Finalment torna a copiar el client compilat a la carpeta views del servidor:
rm -rf views
mkdir views
cp -r ../client/dist/. views/
Compara .env.example, a l’arrel del repositori, amb el teu persistent/.env per incorporar qualsevol paràmetre que afegeixi la versió.
3. Reinicia
Reinicia l’aplicació i el seu RTE per carregar el codi nou. L’esquema de la base de dades s’actualitza en el primer inici:
pm2 restart ansibleforms ansibleforms-rte
Si véns de la 7.2, l’RTE s’executava en mode database, amb la configuració de la base de dades i RTE_URL, obsolet a la 7.3.0 i eliminat a la 8.0.0. Torna’l a iniciar en mode inbound, i declara’n el runner amb una credencial d’RTE al seed o a Connexions → Runners, com mostra la instal·lació: pm2 delete ansibleforms-rte, i després la seva ordre pm2 start.
Si executes l’aplicació sense PM2, atura npm run start i torna’l a iniciar.
4. Comprova l’actualització
Segueix el registre de l’aplicació mentre s’inicia:
pm2 logs ansibleforms
A AnsibleForms, Ajuda → Quant a mostra la versió que s’està executant, i Configuració → Estat mostra la salut de la base de dades, de l’esquema i dels altres sistemes dels quals depèn AnsibleForms.
Tornar enrere
Per tornar a la versió que executaves abans, la que mostrava Ajuda → Quant a abans de l’actualització, fes checkout de la seva etiqueta amb git checkout <version>, i després torna a compilar i reinicia com als passos 2 i 3. Si aquella versió no s’inicia amb la base de dades actualitzada, restaura la còpia de seguretat que vas fer a Configuració → Còpies de seguretat.