Servidor

Configuración de Jenkins Pipeline con SonarQube y la integración de GitLab

Configuración de Jenkins Pipeline con SonarQube y la integración de GitLab

Jenkins Pipeline es un conjunto de funciones de Jenkin. Es una de las varias formas de definir algunos pasos de Jenkins o una combinación de trabajos utilizando código y automatizar el proceso de implementación de software.

Si aún no ha configurado Jenkins, diríjase a nuestra guía de instalación de Jenkins para obtener instrucciones. La canalización utiliza un lenguaje específico de dominio (DSL) con dos sintaxis diferentes:

En este tutorial, vamos a configurar la canalización declarativa con integración de sonda y GitLab.

Configuración de Jenkins Pipeline con SonarQube y la integración de GitLab

1. Prerrequisitos

Instalación del complemento Pipeline

Si hubiera seleccionado la opción instalar complementos sugeridos cuando configuró Jenkins, debería haber instalado automáticamente todos los complementos necesarios. Si no es así, no se preocupe, puede instalar los complementos ahora.

Inicie Jenkins y vaya a Administrar Jenkins -> Administrar complementos -> Disponible

Si no puede encontrar el complemento Pipeline en el Disponible sección, consulte la instalado pestaña.

Complemento de canalización

Instalación de Sonar Scanner

Inicie sesión en el servidor de Jenkins primero. Aquí, voy a descargar el escáner de sonda a la carpeta "/ opt".

cd / opt

Descargar usando wget.

wget https: // binarios.fuente de sonido.com / Distribution / sonar-scanner-cli / sonar-scanner-cli-4.2.0.1873-linux.Código Postal

Si wget El comando no está disponible, puede instalarlo usando los siguientes comandos:

Para Ubuntu / Debian:

apt-get install wget -y

Para Centos / Redhat:

yum instalar wget -y

De vuelta a Sonar, es hora de descomprimir el archivo de Sonar descargado.

descomprimir sonar-scanner-cli-4.2.0.1873-linux.Código Postal

Instale descomprimir si obtiene el comando no se encuentra un error.

Para Ubuntu / Debian:

apt-get install unzip -y

para Centos / Redhat:

yum instalar descomprimir -y

Cambiar el nombre del paquete de la sonda.

 mv sonar-escáner-4.2.0.1873-escáner-sonar-linux

Cambiar el nombre del escáner de sonda

Ir al directorio de la sonda.

sonar-escáner de cd

Conseguir el camino.

pwd

Ruta del escáner de sonda

Copiar la ruta del escáner de sonda:

/ opt / sonar-scanner

Instalación del complemento Sonar

De la cabeza de Jenkin a Administrar Jenkins -> Administrar complementos -> Disponible

Buscar Sonar y seleccione Escáner SonarQube y haga clic en Instalar sin reiniciar.

Entonces Jenkins debería instalar el complemento correspondiente.

Complemento de escáner SonarQube

Instalación del complemento SonarQube

Seleccione Reinicie Jenkins cuando se complete la instalación. Jenkins debería reiniciarse.

Reiniciando

Configuración de complementos de Sonar

Ir Administrar Jenkins -> Configuración global de herramientas.

Configuraciones globales de herramientas

Encontrar Escáner SonarQube y haga clic en Agregar escáner SonarQube.

Deseleccionar instalar automáticamente.

Asigne cualquier nombre y pegue la ruta del escáner de sonda copiada a SONAR_RUNNER_HOME.

Configuración del escáner SonarQube

Luego guarda las configuraciones.

Configurar los ajustes del servidor Sonarqube

Obtenga el token de SonarQube del servidor de SonarQube.

Inicie sesión en el servidor SonarQube. Siga nuestra guía de instalación del servidor SonarQube para instalar Sonarqube Server.

Ir Administración -> Seguridad -> usuarios.

Haga clic en Tokens.

Tokens

Dar cualquier nombre y hacer clic en Generar token.

Crear token

Copiar token generado.

Token generado

Ahora ve al servidor Jenkins.

Hacer clic Credenciales -> Sistema -> Credenciales globales -> Agregar credenciales.

Agregar credenciales globales

Seleccionar texto secreto. Pegue el token de SonarQube copiado en Secret y dé cualquier nombre a la identificación y descripción.

Credenciales de SonarQube

Agregar el servidor SonarQube a Jenkins

Ir Administrar Jenkins -> Configurar sistema.

Encontrar Servidores SonarQube y haga clic en Agregar SonarQube.

Detalles del servidor SonarQube

Seleccione Habilitar al inyectar el servidor SonarQube, dar cualquier nombre y agregar la URL del servidor sonarQube.

Seleccione token de autenticación desde el menú desplegable. El token que agregamos anteriormente debería enumerarse aquí.

Añadiendo el proyecto de sonar.propiedades archivo a la raíz del repositorio

Aquí está nuestro archivo:

# Sonda de metadatos requerida.projectKey = sonar fosslinux-nodejs.projectName = fosslinux-nodejs # Rutas separadas por comas a directorios con fuentes (requerido) sonar.fuentes =./ # Sonda de idioma.language = js sonar.profile = node # Codificación de archivos fuente sonar.sourceEncoding = UTF-8

Finalmente, haga clic en ahorrar.

Integrando el servidor GitLab con Jenkins

Siga nuestra guía de Gitlab para instalar y configurar GitLab.

Ir Credenciales -> Sistema -> Credenciales globales -> Agregar credenciales.

Seleccione un nombre de usuario con contraseña. Agregue las credenciales de inicio de sesión de GitLab y haga clic en OK.

Credenciales de Gitlab

Inicie sesión en el servidor Jenkins e instale git.

Para Ubuntu / Debian:

apt-get install git -y

Para CentOS / Redhat:

yum install git -y

Aquí vamos a trabajar con la aplicación NodeJS, así que la instalaremos primero.

Instalación del complemento NodeJS

Ir Administrar Jenkins -> administrador de complementos -> disponible.

Buscar NodeJS.

Complemento NodeJS

Luego seleccione el complemento y instalar sin reiniciar.

Instalación del complemento

Haga clic en Reinicie Jenkins cuando se complete la instalación y no se estén ejecutando trabajos, y Jenkins debería reiniciarse automáticamente.

Configuración del complemento NodeJS

Haga clic en Administrar Jenkins> Configuración global de herramientas -> NodeJS

Configuración de NodeJS

Dar cualquier nombre. Aquí hemos seleccionado instalar automáticamente y NodeJS 10.

Guarde las configuraciones.

Crear una canalización declarativa

Vaya al panel de Jenkins, haga clic en Nuevo Artículo. Luego ingrese un nombre de elemento y seleccione el proyecto 'Pipeline'. Hacer clic OK.

Crear una canalización

Seleccione Tubería Texto

Seleccionar secuencia de comandos de canalización

Aquí está el script de canalización simple para git clone, control de calidad de SonarQube y NodeJS.

canalización agente cualquier herramienta nodejs "fosslinuxnode" etapas etapa ("Comprobación de código") pasos rama de git: 'desarrollo', credentialsId: 'fosslinuxgitlablogin', url: 'https: // git.Fosslinux.com / demo / fosslinux-demo.git ' stage (' Calidad del código ') pasos script def scannerHome = herramienta' fosslinxsonar '; withSonarQubeEnv ("fosslinxSonarqubeserver") sh "$ tool (" fosslinxsonar ") / bin / sonar-scanner" etapa ("Instalar dependencias") pasos sh "npm install" etapa ("unidad Test ") pasos sh" npm test " 

Agregue el script de canalización anterior y guárdelo.

Script de canalización

Conceptos de canalización

a) Pipeline: este es un bloque definido por el usuario que contiene todos los procesos, como compilación, implementación, etc.

b) Agente: la sección del agente especifica dónde se ejecutará todo el Pipeline, o una etapa específica, en el entorno de Jenkins, dependiendo de dónde se ubique la sección del agente.

c) Cualquiera: esta opción ejecuta la canalización / etapa en cualquier agente disponible.

d) Etapa: un bloque de etapa contiene una serie de pasos en una tubería. Es decir, clonar, construir, implementar, etc. procesar una etapa.

e) Pasos: se pueden agregar una serie de pasos a un bloque de escenario. Simplemente esta es una sola tarea que ejecuta un proceso específico. Ahora haz clic en construir.

Construye el trabajo

La canalización debería comenzar a funcionar.

Ejecución de tubería

Aquí hay una tubería completa:

Canalización completada

Se trata de instalar y configurar Jenkins Pipeline.

Vuelva a asignar los botones del mouse de manera diferente para diferentes programas con X-Mouse Button Control
Tal vez necesite una herramienta que pueda hacer que el control de su mouse cambie con cada aplicación que use. Si este es el caso, puede probar una a...
Revisión del mouse inalámbrico Microsoft Sculpt Touch
Recientemente leí sobre el Microsoft Sculpt Touch mouse inalámbrico y decidí comprarlo. Después de usarlo por un tiempo, decidí compartir mi experienc...
Trackpad en pantalla y puntero del mouse AppyMouse para tabletas Windows
Los usuarios de tabletas a menudo pierden el puntero del mouse, especialmente cuando son habituales para usar las computadoras portátiles. Los teléfon...