Site is under maintenance mode. Please wait few min!
Saltar al contenido

Cómo escribir declaraciones de cambio en Go

marzo 4, 2020

 

Introducción

Jenkins es un servidor de automatización de código abierto destinado a automatizar tareas repetitivas técnicos involucrados en la integración continua y la entrega de software. Con un robusto ecosistema de plugins y un amplio apoyo, Jenkins puede manejar un conjunto diverso de cargas de trabajo de aplicaciones a crear, probar y desplegar.

en las guías anteriores, se instalan Jenkins en un servidor de Ubuntu 16.04 y configurados Jenkins con SSL usando un proxy inverso Nginx. En esta guía, vamos a demostrar cómo configurar Jenkins para probar automáticamente una aplicación cuando los cambios son empujados a un repositorio.

Para este tutorial, que será la integración de Jenkins con GitHub a fin de que Jenkins es notificado cuando se empuja nuevo código al repositorio. Cuando se notifica Jenkins, será descargar el código y luego probarla dentro de contenedores acoplables para aislar el entorno de prueba de la máquina anfitrión Jenkins. Vamos a utilizar un ejemplo de aplicación Node.js para mostrar cómo definir el proceso de CI / CD para un proyecto.

Requisitos previos

para seguir adelante con esta guía, necesitará un servidor de Ubuntu 16.04 con al menos 1G de RAM configurado con una instalación segura Jenkins. Para asegurar correctamente la interfaz web, tendrá que asignar un nombre de dominio al servidor de Jenkins. Siga estas guías para aprender cómo configurar Jenkins en el formato esperado:

  • Cómo instalar Jenkins en Ubuntu 16.04
  • Cómo instalar Nginx en Ubuntu 16.04
  • Cómo proteger Nginx con Cifrar Vamos en Ubuntu 16.04
  • Cómo Configurar Jenkins con SSL mediante un mejor control de Nginx proxy inverso

a nuestro entorno de pruebas, vamos a ejecutar las pruebas de nuestra aplicación dentro de los contenedores acoplables. Después de Jenkins está en funcionamiento, la instalación del estibador en el servidor siguiendo los pasos uno y dos de esta guía:

  • Cómo instalar y utilizar estibador en Ubuntu 16.04

Cuando haya completado las guías anteriores, usted puede seguir adelante con Este artículo.

agregar el usuario Jenkins al Grupo acoplable

Después de seguir los requisitos previos, tanto Jenkins y acoplable están instalados en el servidor. Sin embargo, por defecto, el usuario Linux responsable de ejecutar el proceso de Jenkins no puede acceder estibador.

Para solucionar este problema, tenemos que agregar el usuario al grupo Jenkins ventana acoplable con el comando usermod:

sudo usermod -aG docker jenkins

  • sudo usermod -ag ventana acoplable Jenkins

Puede listar los miembros del grupo cargador de muelle para confirmar que el usuario Jenkins se ha añadido con éxito:

grep docker /etc/group

  • grep ventana acoplable / etc / group

Outputdocker:x:999:sammy,jenkins

para que el Jenkins a utilizar su nueva composición, tiene que reiniciar el proceso:

sudo systemctl restart jenkins

  • sudo systemctl reinicio Jenkins

con el ayuda de algunos de los plugins por defecto que habilita durante la instalación, Jenkins ahora puede utilizar acoplable para ejecutar las tareas de construcción y de prueba.

crear un acceso de emergencia personal en GitHub

Para Jenkins para ver sus proyectos de GitHub, tendrá que crear un token de acceso personal en nuestra cuenta de GitHub.

iniciará visitando GitHub y accede a tu cuenta si no lo ha hecho. A continuación, haga clic en su icono de usuario en la esquina superior derecha y seleccione Ajustes desde el menú desplegable:

En la página que sigue, localice la sección del menú de la izquierda de la desarrollador ajustes y haga clic en el acceso Personal fichas :

Haga clic en el botón Crear nuevo símbolo en la siguiente página:

En el Seleccionar alcances sección , comprobar el repo : estado , repo : public_ repo y admin : org_hook cajas. Éstos permitirán Jenkins para actualizar los estados se comprometen a crear y WebHooks para el proyecto. Si está utilizando un privada repo sitory, tendrá que seleccionar el general de repo permiso en lugar de la repo subelementos:

Cuando haya terminado, haga clic en Generar token de en la parte inferior.

Se le redirige a la página de acceso personal tokens índice y su nuevo distintivo mostrado voluntad:

Copiar el testigo ahora de manera que podemos hacer referencia a ella más tarde. Como indica el mensaje, no hay manera de recuperar el token una vez que abandone esta página.

Nota : Como se ha mencionado en la imagen anterior, por razones de seguridad, no hay manera para volver a mostrar el testigo una vez que salga de esta página. Si pierde su razón, eliminar el token actual de su cuenta de GitHub y luego crear una nueva.

Ahora que tiene tener un acceso personal de símbolo para su cuenta de GitHub, podemos configurar Jenkins para ver el repositorio de su proyecto.

Añadir la GitHub personal Token de acceso a Jenkins

Ahora que tenemos una ficha, tenemos que añadir a nuestro servidor Jenkins para que pueda configurar automáticamente WebHooks. Entre en su web Jenkins interfaz utilizando la cuenta administrativa que ha configurado durante la instalación.

Desde el panel de control principal, haga clic en Credenciales en el menú de la izquierda:

En la siguiente página, haga clic en la flecha situada junto a (global) en el ámbito Jenkins . En el cuadro que aparece, haga agregar credenciales :

Usted será llevado a una forma de añadir nuevas credenciales.

bajo la gota tipo menú desplegable, seleccione Secreto texto . En el campo Secreto , pegar su acceso personal GitHub token. Rellene el campo Descripción modo que usted será capaz de identificar esta entrada en una fecha posterior. Puede dejar el Ámbito Mundial y como el campo en blanco ID:

clic en el botón Aceptar cuando haya terminado.

Ahora será capaz de hacer referencia a estas credenciales de otras partes de Jenkins para ayudar en la configuración.

Configurar Jenkins acceso a GitHub

De vuelta en el principal panel de control Jenkins, haga clic Administrar Jenkins en el menú de la izquierda:

En la lista de enlaces de la página siguiente, haga clic Configurar Sistema :

Desplazarse a través de las opciones de la página siguiente hasta que encuentre la sección GitHub . Haga clic en el botón Añadir GitHub servidor y seleccione GitHub Servidor:

La sección se expandirá para solicitar información adicional. En las credenciales menú desplegable, seleccione su token de acceso personal GitHub que agregó en la última sección:

clic en el botón Probar conexión . Jenkins hará una llamada a la API de prueba a su cuenta y verificar la conectividad:

Cuando haya terminado, haga clic en el botón Guardar para implementar los cambios.

configurar la aplicación de demostración en su cuenta de GitHub

Para demostrar cómo utilizar Jenkins para probar una aplicación, vamos a utilizar un programa simple “hola mundo” creado con Hapi.js. Debido a que estamos creando Jenkins para reaccionar a empujones en el repositorio, usted necesita tener su propia copia del código de demostración.

Visita el repositorio del proyecto y haga clic en el botón Tenedor en la esquina superior derecha para hacer una copia del repositorio en su cuenta:

Una copia del repositorio será añadido a su cuenta.

El repositorio contiene un archivo package.json que define las dependencias de tiempo de ejecución y desarrollo, así como la forma de ejecutar el conjunto de pruebas incluido. Las dependencias se pueden instalar mediante la ejecución de NPM instalación y las pruebas se pueden ejecutar mediante la prueba de la NGP.

Hemos añadido un Jenkinsfile al repositorio también. Jenkins lee este archivo para determinar las acciones a ejecutar en el repositorio para construir, probar o implementar. Está escrito usando la versión declarativa del Jenkins Pipeline DSL.

El Jenkinsfile incluido en las miradas del repositorio hello-hapi como este:

#!/usr/bin/env groovy

pipeline {

agent {
docker {
image 'node'
args '-u root'
}
}

stages {
stage('Build') {
steps {
echo 'Building...'
sh 'npm install'
}
}
stage('Test') {
steps {
echo 'Testing...'
sh 'npm test'
}
}
}
}

La tubería contiene toda la definición que Jenkins evaluará. En el interior, que tiene una sección de agente que especifica cuando los recursos de la tubería se ejecutará. Para aislar nuestro entorno desde el sistema principal, que será la prueba en contenedores estibador, especificados por el agente estibador.

Desde Hapi.js es un marco para Node.js, vamos a utilizar la imagen del estibador nodo como nuestra base. Especificamos el usuario root dentro del recipiente, de modo que el usuario puede escribir simultáneamente al volumen adjunto contiene el código desprotegido, ya que el volumen de la secuencia de comandos escribe su salida a.

A continuación, el archivo define dos etapas, que son divisiones simplemente lógicas de trabajo. Hemos llamado a la primera “construir” y la segunda “prueba”. El paso de generación imprime un mensaje de diagnóstico y luego ejecuta la NGP instalación para obtener las dependencias necesarias. El paso de prueba se imprime otro mensaje y luego ejecute las pruebas como se define en el archivo package.json.

Ahora que tiene un depósito con una Jenkinsfile válida, podemos configurar Jenkins para ver este repositorio y ejecute el archivo cuando se introducen cambios.

Crear un nuevo oleoducto en Jenkins

A continuación, podemos establecer Jenkins utilizar el GitHub acceso personal de contadores a ver nuestro repositorio.

De vuelta en el tablero principal de Jenkins, haga clic en Nuevo elemento en el menú de la izquierda:

Introduzca un nombre para el nuevo gasoducto en el Introduzca un campo nombre del artículo. Después, seleccione Pipeline como el tipo de elemento:

clic en el botón Aceptar en la parte inferior de seguir adelante.

En la siguiente pantalla, marque la casilla GitHub proyecto . En el campo Proyecto url que aparece, introduzca GitHub URL del repositorio de su proyecto.

Nota : Asegúrese de apuntar a su tenedor de la aplicación Hello Hapi para que Jenkins tendrá permiso para WebHooks configurar.

A continuación, en la sección de disparadores Generar, comprobar el gatillo gancho GitHub para GITScm de votación cuadro :

En la sección Pipeline , necesitamos decirle a Jenkins para ejecutar la tubería se define en la Jenkinsfile en nuestro repositorio. Cambiar el Definición tipo de secuencia de comandos Pipeline de SMC.

En la nueva sección que aparece, elija Git en el menú SMC . En el campo URL del repositorio que aparece, introduzca la dirección URL a su tenedor del repositorio nuevo:

Nota : Una vez más, asegúrese de punto a su tenedor de la aplicación Hello Hapi.

Nota : nuestro ejemplo hace referencia a un Jenkinsfile disponibles dentro de un repositorio público. Si el proyecto no es accesible al público, tendrá que utilizar las credenciales botón Agregar añadir un acceso adicional al repositorio. Se puede añadir un token de acceso personal como lo hicimos con la configuración anterior ganchos.

Cuando haya terminado, haga clic en el botón Guardar en la parte inferior de la página.

Realización de una construcción inicial y configuración de la WebHooks

En el momento de escribir estas líneas (junio de 2017), Jenkins hace WebHooks no configure automáticamente cuando se define la tubería para el repositorio en la interfaz.

el fin de desencadenar Jenkins para establecer los ganchos apropiados, tenemos que realizar una compilación manual de la primera vez.

En la página principal de su tubería, haga clic Construir Ahora en el menú de la izquierda: se programará

una nueva construcción. En el cuadro de Historia Construir en la esquina inferior izquierda, una nueva construcción debe aparecer en un momento. Además, una etapa Ver comenzará a ser dibujado en la zona principal de la interfaz. Esto hará un seguimiento del progreso de su prueba se ejecute como se completan las diferentes etapas:

En el cuadro de Historia Generar, haga clic en el número asociado a la acumulación de ir a la página de acumulación detalle. A partir de aquí, puede hacer clic en el botón Salida consola en el menú de la izquierda para ver los detalles de los pasos que se ejecutaron:

Haga clic en el Volver al punto Proyecto en el menú de la izquierda cuando haya terminado de para volver a la vista principal oleoducto.

Ahora que hemos construido el proyecto una vez, podemos tener Jenkins crear las WebHooks para nuestro proyecto. Haga clic en Configurar en el menú de la izquierda de la tubería:

No se necesitan cambios en esta pantalla, haga clic en el botón Guardar en la parte inferior. Ahora que el Jenkins tiene información sobre el proyecto del proceso de construcción inicial, se registrará un web hook con nuestro proyecto GitHub al guardar la página.

Puede verificar esto yendo a su repositorio GitHub y haciendo clic en el botón Configuración . En la siguiente página, haga clic en WebHooks en el menú lateral. Debe ver a su servidor web hook Jenkins en la interfaz principal:

Ahora, cuando se presiona nuevos cambios a su repositorio, Jenkins será notificado. A continuación, tire del nuevo código y vuelva a probar usando el mismo procedimiento.

para aproximarse a esto, en nuestra página de repositorio en GitHub, puede hacer clic en el Crear nuevo botón de archivo a la izquierda del green Clon o descarga botón :

En la siguiente página, elige un nombre de archivo y algunos contenidos ficticios:

ew_build_started.png»>

Puede poner en marcha adicional construye haciendo compromete a una copia local del repositorio y empujándolo hacia atrás hasta GitHub.

Conclusión

En esta guía, se configura Jenkins para ver un proyecto GitHub y automáticamente probar los nuevos cambios que se han comprometido. Jenkins tira de código desde el repositorio y luego ejecuta los procedimientos de construcción y prueba de dentro de los contenedores acoplables aislados. El código resultante puede ser desplegado o almacenada mediante la adición de instrucciones adicionales a la misma Jenkinsfile.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *