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

Instalación y configuración de un servidor de correos de Internet

Para configurar un servidor de correos en un servidor expuesto a Internet hay que instalar un servicio SMTP en este servidor. En este caso, se usa el servidor postfix.

Leer

Funcionamiento básico de ansible

Ansible es un software que permite la configuración automatizada de equipos a través de la ejecución de reglas. En esta entrada se recogen algunos elementos fundamentales de esta herramienta.

Leer

Verificar la integridad de ficheros con GPG y apt-secure

Existen varios mecanismos para verificar la integridad de los ficheros descargados tanto desde los propios repositorios de la distribución como de repositorios de terceros. Algunos de ellos son GPG y apt-secure.

Leer