Ejecutar un pipeline de Jenkins con cada actualización de un repositorio

Índice

Para que Jenkins ejecute un pipeline cada vez que se actualice un repositorio git se pueden establecer varias configuraciones diferentes. En este caso, se incluye el Jenkinsfile en el repositorio de GitHub.

pipeline {
    agent {
        docker { image 'debian'
        args '-u root:root'
        }
    }
    stages {
        stage('Clone') {
            steps {
                git branch:'master',url:'https://github.com/josedom24/ic-travis-diccionario.git'
            }
        }
        stage('Install') {
            steps {
                sh 'apt-get update && apt-get install -y aspell-es ' 
            }
        }
        stage('Test')
        {
            steps {
                sh '''
                export LC_ALL=C.UTF-8
                OUTPUT=`cat doc/*.md | aspell list -d es -p ./.aspell.es.pws`; if [ -n "$OUTPUT" ]; then echo $OUTPUT; exit 1; fi'''
            }
        }
    }
    post {
         always {
          mail to: 'debian@javihuete.site',
          subject: "Status of pipeline: ${currentBuild.fullDisplayName}",
          body: "${env.BUILD_URL} has result ${currentBuild.result}"
        }
      }
}

Después, en Jenkins se crea un nuevo proyecto y en él se crea un trigger de tipo Consultar repositorio (SCM). En el campo Programado se indica el valor * * * * *, que indica que se revise si hay cambios en el repositorio una vez cada minuto.

A continuación, en la zona de definición del pipeline se elige la opción Pipeline script from SCM y se rellenan los campos con los valores apropiados. El SCM es git y se indican también la URL del repositorio y la rama del repositorio que Jenkins debe revisar.

El último paso del Jenkinsfile envía un correo electrónico con el resultado del pipeline. El envío de correos desde Jenkins se configura en Administrar Jenkins -> System. La dirección de correos del administrador debe estar configurada en la instalación de Jenkins. Si no, se puede indicar una en este momento en el campo System Admin e-mail address. En el apartado Notificación por correo electrónico se configuran los diferentes apartados Servidor de correo saliente (SMTP) y Sufijo de email por defecto con los datos del servidor de correos que se quiera usar.

comments powered by Disqus

Relacionados

Despliegue de una aplicación Python en Kubernetes

Para desplegar una aplicación escrita en Python en Kubernetes se usan los ficheros yaml que definen los diferentes recursos necesarios para el despliegue.

Leer

Creación de una VPN de acceso remoto con WireGuard

En este escenario un servidor VPN permite el acceso a un equipo conectado a su red interna a los clientes conectados a él a través de la red VPN.

Leer

Instalación de Wireshark y GNS3 en Debian 12 y Windows 10

Wireshark y GNS3 son dos programas fundamentales para el trabajo de un administrador de redes pero instalarlos puede suponer algunos desafíos. Aquí se incluye una guía de instalación de Wireshark y GNS3 en Windows 10 y en Debian 12

Leer