Promptcloud explora la configuración de integración de Gerrit y Jenkins

Publicado: 2017-01-20
Mostrar tabla de contenido
Configuración de integración usando Gerrit y Jenkins
¿Qué es Gerrit?
¿Qué es Jenkins y sus usos?
Flujo de trabajo para la integración continua
1. Instalación de Gerrit
2. Inicio de sesión inicial
3. Generación de claves SSH
4. Instalación de Jenkins
5. Inicie el proceso de Jenkins

Configuración de integración usando Gerrit y Jenkins

La vida de un desarrollador puede volverse un poco monótona con las tareas repetitivas y complicadas. Afortunadamente, tenemos herramientas que pueden manejar regularmente las tareas mundanas sin quejarse una vez que las configura. Cuando agrega automatización a las pruebas y la implementación, la solución se puede llamar una "integración continua". Tal configuración puede probar e implementar proyectos automáticamente, lo que le brinda más tiempo para concentrarse en escribir código que enviarlo a los servidores. Así es como puede avanzar con una configuración de integración continua usando Gerrit y Jenkins . Configuración de CI usando Gerrit y Jenkins

¿Qué es Gerrit?

Gerrit es un sistema de revisión de código de fuente abierta basado en git que tiene una interfaz basada en web que le permite enviar cambios desde un cliente de git, revisar los cambios y fusionarlos automáticamente con el código maestro. Cada vez que se realiza un cambio, se realizan conjuntos de parches para el mismo. Gerrit permite diferentes comparaciones de conjuntos de parches. También tiene la opción de agregar comentarios o reseñas sobre líneas específicas, o sobre el parche completo. Los revisores pueden calificar los cambios con uno de los siguientes: +2: me parece bien, aprobado. +1 – Me parece bien, pero alguien más debe aprobarlo. 0 – Sin puntuación. -1 – Preferiría que no enviaras esto. -2 – Enviar bloque. Una revisión de +2 implica que el código se puede enviar al maestro de forma predeterminada. Esto se puede configurar según sea necesario.

¿Qué es Jenkins y sus usos?

Jenkins es un servidor de compilación popular que se utiliza para la integración continua. Está basado en la web y permite la automatización del proceso de compilación cuando se producen cambios. Jenkins puede trabajar de forma independiente, incluso sin Git o Gerrit. Tiene ganchos que permiten activadores de eventos, por lo que cuando ocurre un cambio, se crea una compilación automáticamente. Cuando Jenkins y Gerrit se usan juntos, las compilaciones tendrán una marca de éxito/fracaso para indicar si han pasado las pruebas. Jenkins ejecutará la regresión de prueba después de realizar una compilación. Una vez completado, publicará los resultados de la prueba al igual que uno de los revisores. En caso de que la compilación falle, rechazará el parche. Puede establecer un -1 o un -2 dependiendo de la calidad de su CI en caso de falla de la prueba. Junto con esto, otros revisores de código también pueden revisar el código en este punto. Si todas las revisiones han pasado, el código se puede enviar a un repositorio público .

Flujo de trabajo para la integración continua

  1. El desarrollador verifica la fuente de Git
  2. El desarrollador realiza los cambios necesarios
  3. El desarrollador empuja los cambios a Gerrit
  4. Gerrit envía un aviso de cambio a Jenkins para la prueba de integración
  5. Jenkins extrae los cambios directamente del servidor Gerrit git y ejecuta todos los casos de prueba según la configuración de nuestro proyecto
  6. Otros desarrolladores revisan los cambios y los aprueban (+2)
  7. Gerrit fusiona los cambios en el repositorio de Git del proyecto maestro cuando Jenkins ha pasado la compilación y otros desarrolladores aprueban los cambios.

Configuración de la integración mediante el flujo de trabajo de Gerrit y Jenkins 1. Instalación de Gerrit

  • Requisito: JRE, versión mínima 1.8.
  • Enlace para descargar el paquete de guerra de tGerrit

Si tiene MySQL, puede usarlo para la base de datos Gerrit. Crear usuarios y bases de datos en MySQL para Gerrit.

mysql> CREAR USUARIO 'gerrit2'@'localhost' IDENTIFICADO POR 'secreto';

mysql> CREAR BASE DE DATOS reviewdb;

mysql> OTORGAR TODO EN reviewdb.* TO 'gerrit2'@'localhost';

mysql> PRIVILEGIOS DE DESCARGA;

Ahora ejecute el siguiente comando para inicializar el sitio.

 # java -jar gerrit.war inicialización –batch -d ~/

Durante esta inicialización, el servicio Gerrit se inicia de forma predeterminada. Si desea realizar algún cambio, es decir, la base de datos mysql, la autenticación de inicio de sesión, el servidor de correo electrónico de envío y la URL httpd, puede editar el archivo ~//etc/gerrit.config y agregar los detalles de la contraseña de la base de datos y ldap en ~//etc/secure archivo .config . Si se realizan cambios en la configuración, se debe reiniciar el servicio Gerrit antes de que surtan efecto.

 # ~//bin/gerrit.sh reiniciar

Copie el script ~//bin/gerrit.sh en el directorio init.d como gerrit y agréguelo para iniciar mientras se inicia la máquina.

2. Inicio de sesión inicial

Ahora cargue su URL de Gerrit en el navegador. También puede encontrar la URL web de Gerrit usando este comando.

# git config -f ~//etc/gerrit.config gerrit.canonicalWebUrl

Ahora use la autenticación de inicio de sesión utilizando el método que configuró en el archivo de configuración de Gerrit para iniciar sesión en la interfaz web de Gerrit. Por defecto, es OpenID. LDAP es uno de los métodos de autenticación más utilizados.

Una vez que haya iniciado sesión con éxito en la página web de Gerrit, debe iniciar sesión en su máquina cliente donde realizará el desarrollo. Debe generar claves RSA para sus sesiones ssh. Puede omitir el paso de generación de claves si ya tiene los archivos.

# ls -l ~/.ssh

config_claves_autorizadas id_rsa id_rsa.pub hosts_conocidos

3. Generación de claves SSH

# ssh-keygen -t rsa

Generación de un par de claves rsa públicas/privadas.

Introduzca el archivo en el que guardar la clave (/home/user/.ssh/id_rsa):

Ingrese la frase de contraseña (vacío si no hay frase de contraseña):

Ingrese la misma frase de contraseña nuevamente:

Su identificación ha sido guardada en /home/user/.ssh/id_rsa.

Su clave pública se ha guardado en /home/user/.ssh/id_rsa.pub.

La huella dactilar clave es:

SHA256:dMMVqsoLDf8T/d5Niob69oea3rkSLTBltiZ8s1lbdeA usuario@localhost

La imagen randomart de la llave es:

+—[RSA 2048]—-+

| o… |

| .+o . o|

| ..+=. E..|

| .=o=.. . |

| . SB * o |

| = .. * o |

| . = . = . .|

| . o +o++.+ |

| . o*=*Boo.|

+—-[SHA256]—–+

# gato ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwoWTT6S1pv2LP0l6r8305njSLtoupDCw8Df
GnaqW+ppfzNMtRJmAvCQpYuvE154EsGZC5csnRkUYAScOD3nri8NBsXMdD+m1mMyD
lA4ssMLhWHfstJGQ5aJ84NIR+zFK9o9QmDCVYU/
MYt2SZnmzi+Pdd4QbDWKisewmtun5rpy8vXWukKt9CHGTbv5lKyRVPF
LuQCynKbniZLV7aQD6gsVcZFG7Hj3ezBhDAZdBrCWLldy0S61DAmdH5C94xmlSuraq
HiX0pkLi4J67msvOUW6dBfeCP1VsMNz0j/
91LPlOMf5I2r1fRw1s/J1z/
UcsgBDyATwSKocNklkrd8+pp usuario@localhost

  • Copie la clave pública anterior y vaya a su URL web de gerrit
  • Verifique el nombre de usuario en la esquina derecha de la página web y haga clic en su usuario para encontrar el enlace de configuración
  • En el lado izquierdo, puede encontrar las "Claves públicas SSH", haga clic en él
  • Ahora haga clic en el botón "Agregar clave", pegue su clave pública ssh y agréguela

Configuración de la integración con el generador de claves SSH de Gerrit y Jenkins El primer usuario que inicie sesión y registre una cuenta se colocará automáticamente en los Administradores con todos los privilegios. Ahora tiene privilegios para crear proyectos. Haga clic en la pestaña "Proyectos" y haga clic en "Crear nuevos proyectos". Ahora ingrese el nombre del proyecto para comenzar. Configuración de CI Ahí tienes, clona el proyecto en tu sistema y comienza a agregar tus códigos de desarrollo. # ssh [email protected] -p 29418

**** Bienvenido a Gerrit Code Review **** Hola selvam, se ha conectado con éxito a través de SSH. Desafortunadamente, las conchas interactivas están deshabilitadas. Para clonar un repositorio Git alojado, use: git clone ssh://[email protected]:29418/REPOSITORY_NAME.git Conexión a 192.168.56.137 cerrada.

# git clone ssh: //[email protected] :29418/Gerrit_Test

4. Instalación de Jenkins

Puede instalar jenkins usando el paquete apt-get o deb.

  • sudo apt-obtener actualización
  • sudo apt-get install jenkins

La configuración de Jenkins existe en /etc/default/jenkins, donde puede cambiar la ubicación de Java y JAVA_ARGS. De manera predeterminada, jenkins se ejecuta en 8080. Si está ejecutando gerrit y jenkins en la misma máquina, el puerto predeterminado 8080 ya está ocupado por gerrit. Aquí debe cambiar el puerto jenkins. Para cambiarlo, edite el valor de HTTP_PORT para que se ejecute en un puerto diferente.

5. Inicie el proceso de Jenkins

# /etc/init.d/jenkins start Vaya a su navegador y cargue la página de jenkins con su nombre de host y número de puerto de jenkins.

 https://:/

Si ha instalado Jenkins 2.*, la página web de jenkins le pedirá la contraseña de administrador inicial. Puede encontrar la contraseña en el archivo /var/log/jenkins/jenkins.log. El registro se ve a continuación:

Se requiere la configuración inicial de Jenkins. Se ha creado un usuario administrador y se ha generado una contraseña. Utilice la siguiente contraseña para continuar con la instalación: f16b093akcnml397jcdoa239d6bafb9 También se puede encontrar en: /var/lib/jenkins/secrets/initialAdminPassword
  • Ahora vaya a Jenkins -> Administrar Jenkins -> Administrador de complementos para instalar el complemento git y gerrit en jenkins
  • Haga clic en la pestaña 'Disponible' y busque ' Complemento Git ' y haga clic en 'Instalar sin reiniciar'. Nuevamente busque ' Gerrit Trigger' y haga clic en 'Instalar sin reiniciar'. Finalmente, verifique si está en la lista de instalados.

Configuración de la integración mediante el complemento Gerrit y Jenkins El proceso de Jenkins lo ejecuta el usuario de Jenkins. Por lo tanto, debemos habilitar el acceso para el usuario de jenkins en gerrit.

  • Usando su método de autenticación, cree un usuario jenkins en gerrit
  • Ahora cree ssh-keygen para el usuario jenkins como lo hicimos anteriormente. Pero esta vez, cree la clave con la frase de contraseña vacía y copie la clave pública para el usuario de jenkins en el gerrit
  • Ahora haga clic en 'Nuevo elemento' para crear un nuevo trabajo y agregue su URL de git en la sección Gestión de código fuente/Git. Además, elija el "evento Gerrit" en los disparadores de compilación e ingrese el patrón del proyecto Gerrit.

Configuración de la integración mediante el evento de Gerrit y JenkinsEvento de integración de CI Finalmente, guarde la configuración. Perfecto, su configuración de Gerrit y Jenkins ahora está completa.