Vamos a ver cómo puedes empezar fácilmente con Jenkins y Node.js para permitir el despliegue continuo. en función de los cambios realizados en un repositorio de GitHub.
Así que vamos a resolver el plan aquí. Vamos a utilizar un repositorio React JS ya existente de nuestro popular taller "React From Scratch. Cuando se realizan cambios en este repositorio, Jenkins podría construir la aplicación y desplegar o ejecutar la aplicación. Debido a la naturaleza de Node.js, el proceso de compilación se asegurará de que los módulos NPM estén presentes.
Requisitos del proyecto
Para utilizar esta guía deben cumplirse los siguientes requisitos de software:
Dado que esto es un Node.js con Jenkins pipeline, necesitaremos la última versión de Node.js instalada. Como Jenkins es una aplicación Java, también necesitaremos Java instalado. Mi pipeline Jenkins de ejemplo para aplicación Node.js no usa Couchbase, esto asegurará que cualquiera pueda usar fácilmente esta guía.
Configuración de Jenkins con los plugins necesarios
Ya deberías haber descargado Jenkins. Si no lo ha hecho, siga adelante y obtenga el archivo WAR del sitio web de Jenkins.
Para iniciar Jenkins, ejecute el siguiente comando desde su Símbolo del sistema o Terminal:
1 |
java -jar jenkins.war -httpPort=8080 |
Esto hará que Jenkins sea accesible desde un navegador web en http://localhost:8080. Al iniciarlo por primera vez, aparecerá un asistente de configuración.
La primera pantalla de este asistente de configuración le pedirá la contraseña que genera Jenkins. Encuéntrela en la ubicación presentada en la pantalla.
La segunda pantalla le preguntará qué plugins desea instalar.
Por ahora, vamos a instalar los plugins sugeridos. Instalaremos plugins adicionales más adelante.
La tercera pantalla nos pedirá que creemos nuestro primer usuario administrativo. Técnicamente, la contraseña generada que está utilizando es un usuario administrativo, pero es posible que desee crear uno nuevo.
Después de crear un usuario, Jenkins está listo para funcionar. Sin embargo, vamos a necesitar otro plugin y puede variar dependiendo de cómo queremos construir y desplegar la aplicación Node.js.
En la pantalla principal de Jenkins, elija Gestionar Jenkins para ver una lista de opciones de administración.
Lo que nos importa es gestionar los plugins disponibles. Después de elegir Gestionar plugins queremos buscar e instalar un plugin con el nombre de PostBuildScript.
Este plugin nos permite ejecutar comandos shell o scripts después de que la etapa de construcción se ha completado. En este ejemplo de Node.js y Jenkins pipeline estaremos construyendo y desplegando al mismo host, podemos ejecutar todo localmente vía comandos shell. En un entorno de producción, es posible que desees utilizar el plugin SSH para migrar el código a un servidor remoto y ejecutarlo allí.
Con los plugins disponibles, vamos a crear nuestro flujo de trabajo de despliegue continuo para Node.js en Jenkins.
Creación de un flujo de trabajo de despliegue continuo de Jenkins para Node.js
Sólo para reiterar, nuestro objetivo aquí es crear un flujo de trabajo que va a sacar un proyecto de GitHub, construirlo mediante la instalación de todas las dependencias, y desplegarlo ejecutándolo en un servidor, en este caso, nuestra máquina local.
Comience por crear un nuevo elemento, también conocido como un nuevo trabajo o flujo de trabajo.
Vamos a crear un Proyecto Freestyle. En la siguiente pantalla hay que hacer tres cosas.
La fuente de nuestro espacio de trabajo vendrá de GitHub. En tu propio proyecto, puede venir de otra parte, pero para este, necesitamos definir nuestra información de control de código fuente. También puedes seleccionar la rama si tu proyecto no utiliza la rama maestra.
El proyecto de GitHub es uno que ya había creado y sobre el que había escrito anteriormente, como ya he mencionado. El proyecto se puede encontrar en:
1 |
https://github.com/couchbaselabs/space-x-app |
Ahora, en un entorno de producción, es probable que desee configurar ganchos GitHub para desencadenar el proceso de trabajo, pero ya que esto es todo en localhost, GitHub no lo permitirá. En su lugar, vamos a desencadenar el trabajo manualmente.
Después de configurar la sección de control de código fuente necesitaremos configurar el paso de construcción. Para Node.js, la construcción sólo consiste en instalar las dependencias, pero podrías fácilmente tener pruebas unitarias u otras pruebas en este paso. En la sección Proyecto Jenkins Javael paso de compilación tiene algo más. En este ejemplo de Node.js solo tenemos lo siguiente:
1 |
npm instalar |
Por último, definimos lo que ocurre una vez construido el proyecto.
En este ejemplo, desplegaremos la aplicación localmente en nuestra máquina. Probablemente no sea el caso en su escenario de producción.
Así que te darás cuenta de que en nuestro paso post-construcción tenemos los siguientes comandos:
1 |
npm iniciar |
Sigue adelante e intenta ejecutar el trabajo eligiendo Construir ahora de la lista de opciones. Debe obtener el proyecto, instalar las dependencias y hacer que el proyecto esté disponible en http://localhost:3000. Sólo asegúrese de que Couchbase Server se está ejecutando para este proyecto, de lo contrario, obtendrá errores.
Conclusión
Acabas de ver cómo usar Jenkins para desplegar continuamente tus aplicaciones Node.js basándote en los cambios que se han realizado en GitHub. Una versión similar de esta guía fue creada para aplicaciones Java llamadas, Crear una tubería de despliegue continuo con Jenkins y Javaque merece la pena consultar si eres desarrollador Java.
Desea información sobre usando Node.js con Couchbase NoSQL? Consulte la Portal para desarrolladores de Couchbase para consultar documentación y ejemplos.
[...] 5. Crear una tubería de despliegue continuo con Node.js y Jenkins [...]