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

Guía de instalación de MongoDB en Debian 12

En esta guía se resumen los pasos esenciales para instalar MongoDB en Debian 12 de manera sencilla.

Leer

Creación de Deployments en kubernetes

Para crear un despliegue o deployment en Kubernetes se define el recurso en un fichero yaml.

Leer

Instalación y configuración inicial de OpenLDAP

LDAP es un protocolo de comunicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar información en un entorno de red. Este directorio incluye un conjunto de objetos con atributos organizados jerárquicamente. El directorio LDAP se puede instalar en un servidor de una red para centralizar la gestión de usuarios y grupos en la red.

Leer