Upgrade

Ya sé que dije que hablaríamos sobre el theme del blog, pero me faltaba un paso para cerrar el círculo. Cuando en nuestro día a día entremos a nuestra página de administración de ghost y veamos este aviso:

Upgrade Warning

podremos actualizar la aplicación a la última versión, conseguiremos nuevas características, arreglos de bugs y piruletas gratis. No, en serio, conseguiremos casi todo eso pero siendo precavidos.

Gracias a nuestros backups podremos, tranquilamente, proceder a la actualización. Siempre será buena idea consultar de qué versión partimos y en cuál aterrizaremos. Hay que echarle un ojo al changelog para no llevarnos sorpresas desagradables más tarde: Ghost Changelog

Para ver qué versión podemos instalar nos dirigiremos a la siguiente dirección, de la cuál nos bajaremos el .zip con la aplicación más actualizada.

En esta misma página podremos darnos de alta en la newsletter de Ghost para estar al día con las actualizaciones, por si acaso no entramos mucho por la página de configuración del blog.

Después podremos ver qué versión tenemos instalada, para ello inspeccionamos el archivo 'packages.json', y casi al principio observaremos una línea similar a ésta:

[...]
    "version"     : "0.x.x",
[...]

Con estos datos pasamos a realizar la actualización en sí, si los desarrolladores no han realizado ninguna advertencia sobre el cambio de versión concreto que vamos a ejecutar podremos seguir las instrucciones generales de actualización.

El primer paso es descomprimir el archivo descargado a un directorio temporal. Luego copiamos los archivos que conforman la raíz de la aplicación, esto es: 'config.example.js', 'Gruntfile.js', 'index.js', 'LICENSE', 'package.json' y 'README.md' al directorio de nuestra aplicación.

Recordad que como lo estamos haciendo todo como root, deberemos concederle la propiedad de todo lo que copiemos al usuario de nginx (www-data) para que no tengamos ningún problema.

Ahora borramos el directorio 'core' antiguo y copiamos el nuevo al directorio principal. Si seguimos utilizando el tema 'casper' también deberemos borrar el directorio antiguo y sustituirlo. Estos serían los pasos concretos, teniendo en cuenta que nuestro directorio del blog se encuentra en '/var/www':

# cp config.example.js Gruntfile.js index.js LICENSE package.json README.md /var/www/
# rm -Rf /var/www/core/
# cp -R core /var/www/
# rm -Rf /var/www/content/themes/casper/
# cp -R content/themes/casper /var/www/content/themes

En este caso nos encontrábamos en el directorio donde habíamos descomprimido el archivo zip con la última versión de ghost.

Puede ocurrir que con las sucesivas versiones el contenido de estos directorios cambie y los comandos referidos arriba no sean correctos del todo y haya que ampliarlos.

Ahora instalamos la aplicación para que arregle las dependencias:

/var/www # npm install --production
npm http GET https://registry.npmjs.org/knex/0.5.8  
npm http GET https://registry.npmjs.org/validator/3.4.0  
npm http GET https://registry.npmjs.org/xml/0.0.12  
[...]
/var/www # chown -R www-data:www-data /var/www/*

Dependiendo de la versión se bajará más o menos paquetes y una vez terminado el proceso ya podremos reiniciar la aplicación:

/var/www # forever stop index.js
info:    Forever stopped process:  
data:        uid  command         script   forever pid  logfile                 uptime  
[0] rwEM /usr/bin/nodejs index.js 1281    1380 /root/.forever/rwEM.log 8:4:22:24.693 
/var/www # ./starter.sh
/var/www # forever list
info:    Forever processes running  
data:        uid  command         script   forever pid   logfile                 uptime  
data:    [0] Oqv3 /usr/bin/nodejs index.js 19188   19190 /root/.forever/Oqv3.log 0:0:0:3.215  

Con esta secuencia de comandos podemos ver cómo se paró la aplicación y cómo volvió a arrancar. Os recuerdo que si os dirigís a la página de configuración del blog ya podréis ver que el aviso de actualización ha desaparecido, y si no es así ya sabéis que en el log que muestra el comando 'forever list' tenéis información detallada de los errores que hayan podido surgir.

Para la canción de hoy voy a recuperar un rara avis de mi época de la mtv, cuándo ponían vídeo musicales, allá por mediados de los noventa, del grupo Whale os presento Hobo Humpin' Slobo Babes del disco We Care, el vídeo musical es un must.

Y recuerden, tengan cuidado ahí fuera.