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:
- Canalización declarativa
- Canalización con guión
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.
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
Ir al directorio de la sonda.
sonar-escáner de cd
Conseguir el camino.
pwd
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.
Seleccione Reinicie Jenkins cuando se complete la instalación. Jenkins debería reiniciarse.
Configuración de complementos de Sonar
Ir Administrar Jenkins -> Configuración global 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.
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.
Dar cualquier nombre y hacer clic en Generar token.
Copiar token generado.
Ahora ve al servidor Jenkins.
Hacer clic Credenciales -> Sistema -> Credenciales globales -> Agregar credenciales.
Seleccionar texto secreto. Pegue el token de SonarQube copiado en Secret y dé cualquier nombre a la identificación y descripción.
Agregar el servidor SonarQube a Jenkins
Ir Administrar Jenkins -> Configurar sistema.
Encontrar Servidores SonarQube y haga clic en Agregar 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.
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.
Luego seleccione el complemento y instalar sin reiniciar.
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
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.
Seleccione Tubería Texto
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.
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.
La canalización debería comenzar a funcionar.
Aquí hay una tubería completa:
Se trata de instalar y configurar Jenkins Pipeline.