El objetivo de esta práctica es extender el package NodeJS desarrollado en la pŕactica 2, publicado en npm con una nueva funcionalidad que permita que los usuarios con conocimientos de NodeJS puedan extender la conducta del ejecutable para que este realice el despliegue en plataformas distintas de las ya consideradas.
Plugin: gitbook-start-iaas-ull-es-josue-nayra
Plugin: gitbook-start-heroku-josue-nayra
1- Descargar el paquete inicial: gitbook-start
$ npm install -g gitbook-start-josue-nayra
2- Crear el libro mediante el comando:
$ gitbook-start -d <directorio> --autor <autor> --name <nombre_libro> --url <url_repo>
Opciones disponibles para la creación del libro:
-d o --directorio <directorio en el que se desplegará el libro>
--autor <autor del libro>
--name <nombre del libro>
--url <url del repositorio en github>
--help
--version
Se construye así la estructura inicial por gitbook-start, es decir, la jerarquía de directorios conteniendo los scripts y ficheros markdown para el libro.
3- Colocarse en la carpeta que contiene el libro.
$ cd <directorio en el que se ha desplegado el libro>
4- Instalar las dependencias necesarias mediante el comando:
$ npm install
5- Instalar los plugins requeridos como dependendecias con la opción --save, como por ejemplo: gitbook-start-iaas-ull-es-josue-nayra o gitbook-start-heroku-josue-nayra, para el despliegue en iaas y heroku respectivamente.
$ npm install --save gitbook-start-iaas-ull-es-josue-nayra
$ npm install --save gitbook-start-heroku-josue-nayra
6- Para la actualización de nuestro repositorio podemos ejecutar una de las tareas descritas en el gulpfile: gulp push --mensaje .
7- Ejecutar la opción --deploy especificando la máquina remota dónde queremos hacer el despliegue:
$ gitbook-start --deploy [iaas-ull-es|heroku] [Opciones]
Para conocer mejor las opciones disponibles para cada plugin de despliegue podemos acceder a los paquetes publicados en npm para despliegues en iaas-ull-es o en Heroku. Los enlaces podemos encontrarlo en las siguientes secciones.
9- Una vez ejecutado el comando anterior, se generará automáticamente en el gulpfile.js una tarea llamada "deploy-<máquina en la que realizar el despliegue>" que permitirá al usuario actualizar el contenido de dicha máquina.
gulp.task("deploy-<máquina en la que realizar el despliegue>", function(){
require(path.join(basePath, 'node_modules','<plugin de depliegue>')).deploy(...);
});
NOTA: El despliegue en el IAAS se realizará por defecto en el puerto 8080. En el caso que quiera cambiarse hay que acceder al fichero app.js y modificarlo.
- push
Tarea habilitada para que el usuario pueda actualizar el repositorio que contiene el gitbook. Está disponible una opción --mensaje para especificar el mensaje del commit.
$ gulp push --mensaje <mensaje del commit>
- instalar_recursos
Tarea que permite al usuario instalar plugins y dependencias necesarias para su gitbook.
& gulp instalar_recursos
- deploy
Tarea deploy genérica que actualiza las gh-pages del gitbook.
$ gulp deploy
- deploy-iaas-ull-es
Tarea generada posteriormente a la realización y ejecución del comando gitbook-start --deploy, que permite al usuario realizar posteriores despliegues y actualizaciones de su gitbook en la máquina remota con gulp. Por ejemplo, en el caso de que el usuario despliegue en el IAAS, después de haber desplegado con la opción gitbook-start --deploy iaas-ull-es, en el gulpfile se generará una tarea con el nombre deploy-iaas-ull-es.
$ gulp deploy-iaas-ull-es
- deploy-heroku
Tarea generada posteriormente a la realización y ejecución del comando gitbook-start --deploy, que permite al usuario realizar posteriores despliegues y actualizaciones de su gitbook en Heroku con gulp. Por ejemplo, en el caso de que el usuario despliegue en Heroku, después de haber desplegado con la opción gitbook-start --deploy heroku, en el gulpfile se generará una tarea con el nombre deploy-heroku.
$ gulp deploy-heroku
- Josué Toledo Castro Github personal
- María Nayra Rodríguez Pérez Github personal