node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

gitbook-start-plugin-general-noejaco17

Práctica: Plugin General gitbook-start npm

imagen1

Descripción de la práctica

NUEVAS OPCIONES

console.log("\ngitbook-start [OPTIONS]\n"+ "--deploy: Despliega cualquier opcion de las siguietes\n\n"+ "--deploy crear-repo: Crea repositorio en github\n"+ "--deploy dropbox: Generara una app(server) donde nos logearemos a traves de una bbdd creada en dropbox en heroku\n"+ "--deploy github: Generaremos una oauth en github a traves de heroku\n"+ "--deploy mongodb: Generara una app(server) donde nos logearemos a traves de una bbdd creada en mongodb a traves de heroku\n"+ "--deploy iaas: Crea server en en iaas\n"+ "--deploy heroku: Crea server en heroku\n\n"+ "--deploy iaasheroku: Despliega el libro tanto en iaas como en heroku\n\n"+ "--directorio \n\n\n\n"+ "\tEJ: gitbook-start --deploy --directorio \n"

Opcion Iaas y heroku deokigue del libro

Descargar el paquete npm gitbook-start-iaas-npm

Opcion Dropbox

Instale el paquete NPM de manera global -> npm install -g gitbook-start-plugin-general-noejaco17@0.1.36 genere un package.json Instale el plugin de dropbox -> npm install --save gitbook-start-heroku-localstrategy-noejaco17@0.0.10

gitbook-start --deploy dropbox --directorio "nombre"

Durante el proceso de instalación del directorio con dropbox, nos pedirá por pantalla los siguientes datos:

  • nombre de la app -> (Nombre dado a la app generada)
  • token del usuario de heroku ->(Vamos a settings y al final nos aparecera nuestro token Api Key)
  • token de dropbox ->(Para obtenerlo vamos a dropbox developer, y creamos nuestra app, dentro de ella nos aparecer generated access token)
  • nombre del fichero que actuara de bbdd; Luego cree su remoto para empujar ha su app de heroku heroku git:remote -a <nombre_app> genere un .gitignore y dentro ponga node_modules/

gulp push-heroku Acuda a la url de la aplicación: https://nombre_app.herokuapp.com/

Opcion Github

Instale el paquete NPM de manera global -> npm install -g gitbook-start-plugin-general-noejaco17 genere un package.json Instale el plugin de oauth -> npm install --save gitbook-start-heroku-token-oauth-noejaco17

gitbook-start --deploy github --directorio "nombre"

Durante el proceso de instalación del directorio con github, nos pedirá por pantalla los siguientes datos:

  • nombre de la app -> (Nombre dado a la app generada)
  • token del usuario de heroku ->(Vamos a settings y al final nos aparecera nuestro token Api Key)
  • repositorio de Github -> (http)
  • id_client ->(Para obtener el id_client y el secret_client, deberá crear en github una aplicación. Para ello, acuda a settings en su cuenta de Github, en la parte izquierda por el final encontraremos OAuth applications, pinche ahí y podremos crear una nueva aplicación)
  • secret_client ->/
  • organizacion->(Organizacion a la que tenga acceso)
Generar oauth github

. Vaya a settings, oauthaplications, y haga lo siguiente:

  • Ponga un nombre a la aplicación
  • Ponga en Homepage URL con el nombre de su app: https://nombre_de_su_app.herokuapp.com/login
  • Añada una descripción (no obligatorio)
  • Ponga en Authorization callback URL con el nombre de su app respuesta: https://nombre_de_su_app.herokuapp.com/callback
  • Registre su aplicación

git init heroku git:remote -a "nombre_app" genere un .gitignore y dentro ponga node_modules/

gulp deploy-heroku-oauth Acuda a la url de la aplicación: https://nombre_app.herokuapp.com/

Objetivo:

El servidor proveído por el plugin (sea iaaso heroku) deberá autenticar que el lector del libro pertenece a una organización dada de GitHub (por ejemplo ULL-ESIT-SYTW-1617). Si es el caso que pertenece podrá seguir leyendo el libro, sino será redirigido a la ruta de autenticación.

Puede partir de los repos de los plugins que ha usado en prácticas anteriores o crear unos nuevos

Pasos a seguir:

Instalación del plugin

Para ello nos serviremos del paquete npm-gitbook-start y seguiremos las instrucciones indicadas.

Una vez finalizado este paso, tendremos un servidor Express desplegado en la IP indicada así como nuevas tareas añadidas al fichero gulpfile.js. #### Paquetes necesarios Deberemos contar con Node.js y npm instalados en nuestra máquina.

Instalación de los paquetes y dependencias necesarias para el correcto funcionamiento:

$ npm install

Despliegue del libro

A continuación debemos desplegar el libro a través de la nueva tarea generada.

Para ello ejecutamos por consola:

$ gulp deploy

Desplegar el servidor Express

En la línea de comandos ingresamos:

node app.js

Esto nos permitirá ingresar en el prompt nuestro nombre de usuario y nuestra contraseña, una vez ingresados, correrá el servidor y nos proporcionará información acerca de la ubicación del mismo.

Acceso al libro

Como último paso deberemos acceder a la ubicación del servidor proporcionada en el paso anterior. Lo que veremos será una página de logueo en la que haremos click sobre login para acceder al libro.

Práctica: LocalStrategy y base de datos

imagen2

Descripción de la práctica

El servidor proveído por el plugin (iaas o heroku) deberá autenticar al lector del libro usando LocalStrategy y una base de datos en la que se guarda información acerca de los usuarios. Se utilizará projects de Github en el seguimiento y desarrollo de esta práctica. Nota: Se hará uso de la base de datos MongoDB

Paquetes necesarios adicionales

Pasos a seguir:

Instalación del plugin

Una vez instalado el paquete principal, deberemos proveer al mismo de un package.json, para ello escribiremos en consola:

npm init -y

Esto nos generará un package.json, con la opción -y evitamos tener que interactuar con el prompt de npm puesto que en este caso no necesitamos configuración ninguna.

Llegados a este punto ya podemos comenzar con la instalación del plugin dedicado a LocalStrategy y MongoDB, lo haremos mediante el siguiente comando:

[sudo] npm i[nstall] --save gitbook-start-mongo-noejaco

Finalizada la instalación podremos ya ejecutar la opción --mongodb de nuestro paquete principal. Para ello escribimos en consola el siguiente comando:

gitbook-start --deploy mongodb --directorio nombre_directorio --heroku nombre_app

Cuando acabe presionaremos la tecla intro y la aplicación nos pedirá por consola los datos de nuestra aplicación así como los de github. Una vez introducidos se nos habrá creado el directorio con nombre: nombre_directorio. Deberemos acceder a él (cd nombre_directorio) e instalar los paquetes necesarios a través de:

npm i[nstall]

Nota: En caso de dar problemas de no encontrar los módulos debido a un conflicto de paquetes, ejecutar su instalación manualmente- Esto puede suceder con un número muy reducido de paquetes. Para su instalación:

npm install --save nombre_paquete

Finalizada la instalación tendremos lo necesario para arrancar nuestra aplicación mediante:

Node, de forma local:

node app.js

A continuación en el navegador accedemos a: localhost:8080

Heroku:

gulp deploy-heroku-oauth

A continuación nos dirigimos a la página oficial de Heroku y accedemos a nuestra aplicación.

MongoDB with c9

MongoDB is preinstalled in your workspace. To run MongoDB, run the following below (passing the correct parameters to it). Mongodb data will be stored in the folder data. $ mkdir data $ echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod $ chmod a+x mongod $ ./mongod -> Dejamos ejecutando la BBDD Abrir la base de datos $ mongo (show db)(use lista)(show collections)

Enlaces:

Enlace al libro desplegado en gh-pages

gh-pages

Enlace a gitbook

gitbook

Enlace a npm gitbook-start-2.0

npm-gitbook-start

Enlace a npm plugin Heroku

npm-heroku

Enlace al paquete npm iaas

npm-plugin-iaas

Enlace a la aplicación desplegada en heroku

heroku

Autores

Noé Campos

Jacobo Rodicio