Cómo probar a Jenkinsfile localmente

Cómo probar a Jenkinsfile localmente

Cuando comienzas a crear tuberías de Jenkin usando Jenkinsfile declarativo, es fácil cometer errores en tu definición de sintaxis.

Es, por lo tanto, una buena práctica verificar y verificar sus jenkinsfiles antes de comprometerlos con sus repositorios. Esto asegura que no termine con muchas construcciones fallidas en su servidor Jenkins.

Este tutorial mostrará varios métodos y técnicas que puede usar para la pelusa y verificar su jenkinsfile antes de ejecutarlos en el servidor.

El jenkinsfile

Jenkinsfile es una herramienta poderosa que le permite especificar las instrucciones para sus compilaciones en una sintaxis simple y fácil de entender. Hay dos métodos principales para crear un Jenkinsfile:

    1. Uso de sintaxis declarativa
    2. Usando scripts groovy

Este tutorial se centrará en un artículo escrito en sintaxis declarativa, ya que es mucho más fácil de entender y usar.

Lo siguiente muestra la sintaxis de un simple declarante Jenkinsfile.

def msg = "Este es un texto personalizado"
tubería
agente cualquiera
etapas
etapa ('hola')
pasos
guion
msg = "Ahora la cadena es diferente!!"

echo "$ msg"




No revisaremos la estructura del archivo o lo que cada bloque en el archivo anterior representa. En cambio, puede consultar nuestro tutorial de Jenkins para explorar los diversos conceptos básicos de Jenkins, como la Declaración Variable, Jenkins Stages, Jenkins Stages y más.

¿Qué es la pelusa y por qué es importante??

La pelusa se refiere al proceso de verificación del código fuente para posibles problemas o errores. En la mayoría de los casos, generalmente realizamos la pelusa de código a través de una herramienta dedicada llamada Linter.

Un interno de código tomará un código fuente de entrada, lo analizará y se asegurará de que no haya posibles errores en el archivo. También validará los problemas de sintaxis y formateo definidos en un idioma determinado.

Algunos problemas comunes que los revestimientos pueden detectar incluyen errores de sintaxis, problemas de formato y posibles problemas lógicos.

Aquí es donde se encuentra el problema cuando se trata de Jenkinsfiles. Una vez que edite un jenkinsfile, debe confirmar los cambios y presionar los cambios en el repositorio.

Sin embargo, Jenkins está configurado para ejecutar una compilación cada vez que se detecta un cambio en Jenkinsfile. Por lo tanto, si comete algún error en el archivo y se compromete sin pruebas, Jenkins intentará construir el proyecto y fallar debido a los errores en el archivo de la tubería.

A menudo encontrará tales errores conducen a construcciones simultáneas lentas, o incluso una gran cantidad de git se compromete a arreglar los errores de sintaxis.

Para evitar tales errores, es bueno usar un enlace para verificar que todo esté funcionando antes de comprometerse.

Cómo pelar

Discutamos ahora cómo podemos pelar el jenkinfile localmente antes de comprometerse.

Método 1 - Uso del Linter Declarativo de Jenkins

El primer método que podemos usar para pellar nuestro jenkinsfile antes de comprometerse es usar la línea de comando.

Inicie sesión en su Panel Jenkins - Administre Jenkins - Jenkins CLI y DonwLOAD The Jenkins CLI Utility.

Encontrará el enlace para descargar el Jenkins CLI y cómo ejecutar el comando en la primera sección.


Una vez descargado, navegue a la ubicación del Jenkins-Cli.archivo jar y ejecutar el comando proporcionado anteriormente.

El comando debe enumerar los comandos posibles que puede ejecutar en el servidor como se muestra:

Configuración de una muestra Jenkinsfile

El siguiente paso es configurar una muestra de Jenkinsfile que necesitamos para pellar y probar validez. Para fines de demostración, utilizaremos un script de Hello World simple como se proporciona a continuación:

def msg = "Este es un texto personalizado"
tubería
agente cualquiera
etapas
etapa ('hola')
pasos
guion
msg = "Ahora la cadena es diferente!!"

echo $ msg




Puede guardar el jenkinsfile en cualquier ubicación en su sistema de archivos.

Linting a Jenkinsfile desde la línea de comando

Para pellar un jenkinsfile desde la línea de comando, podemos usar el comando:

$ java -jar jenkins -cli.jar -s jenkins_url -websocket declarative -linter < Jenkinsfile


donde el jenkins_url es la dirección de su controlador Jenkins.

Si su servidor Jenkins necesita autenticación, use la opción -auth seguida del nombre de usuario y la contraseña como nombre de usuario: contraseña.

A continuación se muestra una sintaxis de ejemplo:

$ java -jar jenkins -cli.jar -s jenkins_url -auth nombre de usuario: contraseña -websocket declarative -linter < Jenkinsfile


Demostremos la salida del enlace cuando pasamos el Jenkinsfile anterior.

$ java -jar jenkins -cli.jar -s http: // localhost: 9001/-auth root: contraseña -websocket declarative -linter < .\Jenkinsfile


Una vez que ejecutemos el comando anterior, el enlace analizará el jenkinsfile y emitirá cualquier problema potencial. Dado que nuestro archivo tiene errores, el enlace nos dirá por qué y las posibles soluciones como se demuestra a continuación.


En este caso, el enlace nos dice que necesitamos encerrar el nombre de la variable en el bloque de eco con comillas.

Podemos seguir adelante y arreglar nuestro archivo.

def msg = "Este es un texto personalizado"
tubería
agente cualquiera
etapas
etapa ('hola')
pasos
guion
msg = "Ahora la cadena es diferente!!"

echo "$ msg"




Una vez solucionado, podemos volver a ejecutar nuestro comando de laonta:

$ java -jar jenkins -cli.jar -s http: // localhost: 9001/-auth root: contraseña -websocket declarative -linter < .\Jenkinsfile


Como no tenemos ningún error en nuestro Jenkinsfile, el comando devolverá un mensaje como se muestra:

Jenkinsfile validado con éxito.


Y hemos probado y verificado con éxito que nuestro Jenkinsfile está listo para la comisión.

Método 2 - Agregar el enlace Jenkinsfile a su editor

El segundo método común para probar y verificar su jenkinsfile es agregando el complemento de laontros Jenkins a su editor.

Jenkins proporciona un linter para:

    1. Editor de eclipse
    2. Código de VisualStudio
    3. Neovim
    4. Átomo
    5. Editor de texto sublime

Esta sección demostrará cómo usar el enlace Jenkinsfile en el código Visual Studio.

En el código de Visual Studio, presione Ctrl + Shift + K para abrir el menú de extensiones. Busque "Línea de tubería de Jenkins".

Seleccione la extensión "Jenkins Pipeline Live Conector" y haga clic en Instalar.


Una vez instalado, abra su Jenkinsfile en el código de Visual Studio y presione Ctrl + Shift + P para abrir la paleta de comandos.

Ingrese el comando "Validar a Jenkinsfile" y presione ENTER para ejecutar.

Esto le solicitará la URL de laonora Jenkins.

https: /// Pipeline-Model-Converter/Validate

Ingrese el enlace de arriba como se muestra en el siguiente ejemplo:

http: // localhost: 8080/Pipeline-model-converter/Validate


Si su servidor requiere autenticación, abra la configuración del código de Visual Studio y busque "Jenkins".

Establezca el nombre de usuario y la contraseña de Jenkins.


Una vez que ejecute el comando "Validar jenkinsfile", la extensión analizará su jenkinsfile y mostrará problemas potenciales.

Conclusión

Aprendiste a usar el Linter Jenkins CLI para probar y verificar tu Jenkinsfile en tu máquina antes de cometerla. También aprendió a agregar el enlace Jenkins al código Visual Studio para probar su Jenkinsfile de su editor.