Jenkins Tutorial de Pipeline: Cómo crear JenkinsArchivo (Ejemplo)

⚡ Resumen inteligente

Jenkins Pipeline enlaza trabajos de compilación, prueba y despliegue en una secuencia ordenada que se ejecuta como código. JenkinsEl archivo adjunto al proyecto convierte esa secuencia en una definición de entrega revisable y versionada.

  • 🔘 Tubería: Un grupo de eventos interconectados donde cada tarea depende de la anterior.
  • ☑️ Jenkinsarchivo: Un archivo de texto en un lenguaje específico de dominio que contiene cada paso del proceso.
  • Dos sintaxis: Declarative ofrece una jerarquía fija; la estructura de intercambios programada para Groovy controlar.
  • 🧪 Cuatro términos: Pipeline, nodo, etapa y paso nombran el flujo, la máquina, la fase y la tarea.
  • 🛠️ Ruta de configuración: Instala el plugin de canalización de compilación, agrega una vista de canalización, encadena los trabajos y ejecútalo.
  • 📌 Practicas: Mantén el trabajo con materiales en un bloque de nodos, el trabajo que no sea de configuración en una etapa y encapsula las entradas en tiempos de espera.

Jenkins canalización definida como código en una JenkinsArchivo

¿Qué es Jenkins ¿Tubería?

Jenkins Pipeline es una combinación de complementos que admite la integración e implementación de tuberías de suministro continuoEs un servidor de automatización extensible para crear flujos de entrega simples y complejos como código mediante el DSL de canalización. Un flujo de entrega es un grupo de eventos interconectados en una secuencia.

¿Qué son los canales de entrega continua? ¿Cómo funciona?

En un Jenkins En una cadena de procesamiento, cada trabajo o evento tiene algún tipo de dependencia de al menos uno o más eventos, como muestra el diagrama a continuación.

Los estados de la canalización de entrega continua son construir, desplegar, probar y lanzar en Jenkins
Trabajo de Jenkins Canalizaciones de entrega continua

La imagen de arriba representa una canalización de entrega continua en Jenkins, compuesto por estados llamados build, deploy, test y release. Cada estado tiene sus propios eventos, que se ejecutan en secuencia.

Una canalización de entrega continua expresa ese proceso automáticamente, llevando el software desde el control de versiones hasta el lanzamiento a través de una secuencia repetible de compilaciones, las pruebas y etapas de despliegue.

¿Qué es Jenkins¿Archivo?

Jenkins Las tuberías se pueden definir en un archivo de texto llamado JenkinsArchivo. Expresa la canalización como código en un lenguaje específico de dominio (DSL) y contiene todos los pasos necesarios para ejecutar la canalización.

Los beneficios de usar JenkinsLos archivos son:

  • Un JenkinsEl archivo puede crear flujos de trabajo para cada rama y ejecutar solicitudes de extracción.
  • Puedes revisar tu Jenkins código en la canalización
  • Puedes auditar tu Jenkins industrial
  • Esta es la fuente singular de su canalización y varios usuarios pueden modificarla.

Se puede definir una tubería en el Jenkins Interfaz web o en una JenkinsArchivo confirmado en el control de versiones. Un archivo declarativo mínimo tiene una estructura fija: un bloque de canalización, un agente y etapas que contienen una etapa por fase.

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Building'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying'
            }
        }
    }
}

Al guardarlo en la raíz del repositorio, se versiona la canalización con el código.

Sintaxis de canalización declarativa frente a secuencial mediante scripts

Existen dos tipos de Jenkins Sintaxis de canalización utilizada para definir su JenkinsArchivo.

  1. Declarativo
  2. Con guión

Declarativo

La sintaxis declarativa de la canalización es la opción más sencilla. Sigue una jerarquía predefinida y, aun así, controla todos los aspectos de la ejecución de la canalización de forma directa.

Con guión

Con guión Jenkins El oleoducto funciona en el Jenkins controlador a través de un ejecutor ligero, utilizando muy pocos recursos para traducir la canalización en comandos atómicos. Los dos están escritos de forma bastante diferente, así que elija uno por JenkinsArchivo.

⚠️ Nota: Jenkins ahora llama al dominar <font dir="auto" style="vertical-align: inherit;">las </font> controlador.

Por qué usar Jenkins ¿Tubería?

Jenkins es un abierto servidor de integración continua que automatiza procesos de desarrollo de softwarePuedes crear múltiples empleos de automatización Partiendo de tus casos de uso, ejecútalos como una única canalización.

Aquí están las razones por las que deberías usar Jenkins tubería:

  • Pipeline se implementa como código, por lo que varios usuarios pueden editar y ejecutar el proceso.
  • Las canalizaciones son robustas: si el servidor se reinicia inesperadamente, la canalización se reanuda automáticamente.
  • Puedes pausar una canalización y mantenerla en espera hasta que el usuario proporcione alguna entrada.
  • Las canalizaciones permiten gestionar proyectos de gran envergadura: ejecutar múltiples tareas e incluso utilizar canalizaciones en bucle.

Jenkins Tubería Concepts

Cuatro términos se repiten en cada Jenkinsarchivo:

TérminoMareas Ideales para Lecciones
TuberíaUn conjunto de instrucciones escritas en código que abarca todo el proceso de compilación para la entrega continua. Con una canalización, puedes compilar, probar y entregar la aplicación.
NodoLa máquina en la que Jenkins Una ejecución se denomina nodo. Un bloque de nodo se utiliza principalmente en la sintaxis de canalizaciones programadas.
FaseUn bloque de etapa contiene una serie de pasos. Los procesos de compilación, prueba y despliegue se combinan en una etapa, que es también lo que visualiza la vista de canalización.
PasoUna única tarea que ejecuta un proceso específico en un momento definido. Una canalización es una serie de pasos.

Instalar el complemento Build Pipeline en Jenkins

El complemento de canalización de compilación crea una vista de canalización de los trabajos entrantes y salientes y agrega activadores de intervención manual.

Instálelo de la siguiente manera:

Paso 1) La configuración del complemento se puede encontrar en Gestionar Jenkins > Administrar complementos, mostrado a continuación.

⚠️ Nota de versión: corriente Jenkins Lanzamientos etiqueta esta pantalla Gestionar Jenkins → ComplementosLas pestañas se comportan como se describe aquí.

Página de administración de complementos en Jenkins donde reside la configuración del complemento de la canalización de compilación

Si ya instaló el complemento, se muestra en la pestaña instalado.

Pestaña instalada de la Jenkins Administrador de complementos que lista el complemento de canalización de compilación

Paso 2) Si el complemento no está instalado, aparecerá en la pestaña Disponible.

Con el complemento instalado:

Cómo crear Jenkins Tubería

Una vez que haya iniciado sesión en su Jenkins Afiliados:

Paso 1) Haga clic en el botón "+" en el lado izquierdo de su Jenkins Panel de control para crear un flujo de trabajo.

Botón más en el Jenkins panel utilizado para agregar una nueva vista

Paso 2) Rellene el cuadro de diálogo de nueva vista:

  1. Dale un nombre a la vista de la canalización. La llamaremos “Guru99 Pipeline” para esta demostración.
  2. Seleccione Crear una vista de canalización en las opciones.
  3. Haz clic en Aceptar, como se muestra a continuación.

Nuevo cuadro de diálogo de vista con el nombre de la vista de canalización introducido y la opción "Crear una vista de canalización" seleccionada.

Paso 3) La siguiente página solicita más detalles de configuración. Acepte la configuración predeterminada y asegúrese de seleccionar la primera opción en la configuración.

Haz clic en Aplicar y luego en Aceptar.

Página de configuración de vista de canalización de compilación con la configuración predeterminada y el primer trabajo seleccionado.

A continuación, aparece la vista de ejemplo del proceso de creación de su artículo:

Muestra Jenkins Vista de canalización de compilación creada para el Guru99 Elemento de la tubería

Ejecutar una compilación de canalización

Paso 1) Encadena tus trabajos primero: abre tu primer trabajo y haz clic en configurar.

Configurar enlace en el primero Jenkins trabajo utilizado para iniciar encadenar trabajos

Paso 2) Ahora, en la sección "Activadores de compilación", marque la opción "Compilar después de que se hayan compilado otros proyectos".

Sección de activadores de compilación con la opción "Compilar después de que se hayan compilado otros proyectos" marcada.

Ahora existe una cadena para todos tus trabajos.

Paso 3) Instale el complemento de vista de canalización de compilación si aún no lo tiene instalado.

Paso 4) En la Jenkins Panel de control, cree una vista con el botón "+", seleccione la opción Vista de canalización de compilación y haga clic en Aceptar.

Nuevo cuadro de diálogo de vista con la opción Vista de canalización de compilación seleccionada.

Paso 5) En la configuración de la vista de canalización, localice Flujo de canalización.

En Flujo de canalización, seleccione el trabajo inicial que se va a ejecutar: el trabajo que está encadenado a los demás en los pasos 1 y 2.

Configuración de flujo de tubería con Guru99 El proyecto 1 fue elegido como el trabajo inicial.

Guru99 El Proyecto 1 se selecciona aquí como trabajo inicial, por lo que los trabajos encadenados se ejecutan uno por uno.

Mientras el oleoducto está en funcionamiento, unos símbolos rojos y verdes indican su estado: el rojo significa fallo y el verde, éxito.

En este ejemplo, el botón es verde, por lo que el proceso se realizó correctamente.

Botón de estado verde que indica que se ha realizado correctamente. Jenkins Ejecución de la tubería

Correr Jenkins industrial

Haz clic en Ejecutar para ejecutar el Jenkins tubería. Tendrá un aspecto similar a este:

Botón de ejecución en el Jenkins construir vista de canalización

El ejemplo anterior crea un programa sencillo llamado “helloworld.java”. Los proyectos reales encadenan procesos mucho más complejos, como se muestra en la vista más detallada a continuación.

Completado Jenkins Vista de la canalización de compilación que muestra cada trabajo encadenado en secuencia.

⚠️ Nota de versión: El complemento de vista de canalización de compilación es la forma heredada de visualizar trabajos de estilo libre encadenados; la práctica actual define el mismo flujo en un JenkinsArchivo. Azul Ocean Ya no está mejorado.

Mejores prácticas usando Jenkins Tubería

Siete hábitos ayudan a mantener un flujo de trabajo:

  • Utilice el original Jenkins Tubería
  • Desarrolla tu canalización como código
  • Cualquier trabajo que no sea de configuración en su canalización debe realizarse dentro de un bloque de etapa.
  • Cualquier trabajo material en una tubería debe realizarse dentro de un bloque de nodos.
  • No utilice la entrada dentro de un bloque de nodo.
  • Nunca establezca variables de entorno con la variable global env
  • Envuelva sus entradas en un tiempo de espera

Preguntas Frecuentes

Escanea un repositorio, encuentra cada rama que contiene un JenkinsArchivo y crea un trabajo para cada uno. El comportamiento de la rama proviene de la variable BRANCH_NAME en ese archivo.

Guárdelos en el Jenkins Las credenciales se almacenan y se leen con la función auxiliar credentials() en un bloque de entorno. El valor se inyecta en tiempo de ejecución y se oculta en el registro, por lo que no queda ninguna contraseña en el archivo.

Se ejecuta una vez finalizadas las etapas, independientemente del resultado. Condiciones como siempre, éxito, fallo e inestable permiten publicar informes, archivar artefactos y notificar al equipo sin repetición.

Sí. Un bloque paralelo dentro de una etapa ejecuta sus ramas simultáneamente, lo cual resulta adecuado para conjuntos de aplicaciones distribuidos en varios navegadores. Cada rama necesita un agente, por lo que el tiempo de ejecución solo disminuye cuando los ejecutores están libres.

Envía el script al punto final del linter declarativo o abre Replay en una ejecución anterior, edita el script y ejecútalo sin modificar el repositorio. Ambos métodos detectan los errores de sintaxis a tiempo.

Un asistente de IA puede leer un registro de consola largo, agrupar pilas repetidas traces y nombra la etapa donde comenzó el fallo. También señala las pruebas intermitentes. Confirma cada sugerencia con el registro original.

Sí. Copilot Crea un esquema declarativo a partir de un comentario que nombra las etapas y completa pasos como la extracción del código y los comandos de la consola. RevVer etiquetas de agente, credenciales y tiempos de espera, que las sugerencias a menudo adivinan erróneamente.

Una vez que el mismo bloque aparece en tres o más JenkinsArchivos. Una biblioteca compartida mantiene esa lógica en un repositorio versionado, de modo que una corrección llega a todos los proyectos y cada archivo conserva solo sus propias etapas.

Resumir este post con: