Cómo manejar Jenkins de Holgura

Anton Smirnov
23 de Agosto de 2020 · 6 min read

automatización de Pruebas no es sólo la automatización de la aplicación. Diría que incluso compartir los resultados de las pruebas de forma programática con el equipo es parte de la automatización de las pruebas. Por lo tanto, el equipo no depende de ningún individuo para obtener los resultados. El equipo también puede tomar medidas adicionales basadas en los resultados de las pruebas sin demora.

En este artículo, veremos cómo podemos compartir los resultados de las pruebas en Slack. También cómo podría activar una ejecución automatizada de conjuntos de pruebas en su herramienta Jenkins / CI.

Slack

Utilizamos Slack en nuestra organización. También puedes usar Slack para comunicar información entre los miembros del equipo de tu organización. Slack es una gran herramienta que mantiene a todos al día y reduce los correos electrónicos innecesarios.

Slack es un centro de colaboración para el trabajo, sin importar el trabajo que hagas. Es un lugar donde se celebran conversaciones, se toman decisiones y la información está siempre al alcance de la mano. Con Slack, tu equipo está mejor conectado.
Puede usar esta aplicación on-off.sitio

Slack — Jenkins CI App — Integración

supongo que la mayoría de nosotros usamos Jenkins para la Continua realización de pruebas automatizadas. Así que en este artículo, he proporcionado los pasos para integrar Jenkins y Slack. Si utiliza otras herramientas como TeamCity, Bamboo, etc., el proceso seguirá siendo casi el mismo.

Slack:

  • Ir a https://slack.com
  • buscar ‘Jenkins’ app
  • Instalar Jenkins CI Aplicación en su holgura
  • haga Clic en «Añadir Configuración’

  • Hacer una nota de equipo de dominio y Token
  • Seleccione el canal al que queremos plantear los resultados

Jenkins

  • Vaya a Administrar Jenkins -> Administrar Complementos -> Ficha Disponible
  • Instalar Holgura Complemento de notificación
  • Actualizar dominio y token de Slack = > Administrar Jenkins – > Configurar Sistema – > Configuración global de Notificador de Slack

  • Haz clic en la «Conexión de prueba»: deberías ver el mensaje «éxito» en Jenkins y el siguiente mensaje en el canal de slack.

Jenkins-Trabajo de prueba

  • Crear un trabajo de Jenkins para prueba
  • Actualizar las acciones posteriores a la compilación como se muestra aquí, con el mensaje personalizado que desee

Jenkins PipeLine

Necesita agregar una llamada al complemento

slackSend color: 'good', message: 'Message from Jenkins Pipeline'

A continuación, necesitamos determinar el color correcto y el texto de información del mensaje:

def notifySlack(String buildStatus = 'STARTED') {
// Build status of null means success.
buildStatus = buildStatus ?: 'SUCCESS'
def color
if (buildStatus == 'STARTED') {
color = '#D4DADF'
} else if (buildStatus == 'SUCCESS') {
color = '#BDFFC3'
} else if (buildStatus == 'UNSTABLE') {
color = '#FFFE89'
} else {
color = '#FF9FA1'
}
def msg = "${buildStatus}: `${env.JOB_NAME}` #${env.BUILD_NUMBER}:\n${env.BUILD_URL}"
slackSend(color: color, message: msg)
}
node {
try {
notifySlack()
sh 'runbuild'
} catch (e) {
currentBuild.result = 'FAILURE'
throw e
} finally {
notifySlack(currentBuild.result)
}
}

Resumen

Como parte del proceso de prueba Continua, ejecutamos los scripts automatizados utilizando Jenkins periódicamente. Solo tú, como ingeniero de pruebas, conoces los resultados. Es posible que otros miembros del equipo no estén al tanto de los resultados de las pruebas. Con herramientas automatizadas, podemos crear scripts automatizados y, con la API de Slack, podemos compartir los resultados de forma programática.

Crear un nuevo usuario

Comencemos por crear un nuevo usuario en Jenkins para que lo use slack. Tome nota del token de API.

La suposición es que este usuario de Slack tiene suficiente acceso para activar el trabajo.

Ejecute el siguiente comando CURL para verificar si el usuario puede invocar el trabajo.

Este es el formato de la URL. Reemplace el contenido con la información adecuada.

curl -X POST http://@/job//build

En mi caso, lo intenté como se muestra aquí.

curl -X POST http://slack:[email protected]:8080/job/TEST_SMOCK_SLACK_JOB_DEMO/build

Comando Slack — Slash

Para invocar el trabajo de Jenkins anterior, utilizaríamos los comandos slash. Así que cada vez que escribes algo después de una barra, por ejemplo, ‘/smoketests’, Slack lo tratará como un comando y puede responder al comando. Por lo tanto, para ese ejemplo, Slack se puede configurar para proporcionar un informe meteorológico para tu ciudad.

Para invocar el trabajo de Jenkins anterior, utilizaríamos los comandos de barra diagonal de Slack. Así que cada vez que escribes algo después de una barra, por ejemplo, ‘/smoketests’, Slack lo tratará como un comando y puede responder al comando. Por lo tanto, para ese ejemplo, Slack se puede configurar para proporcionar un informe meteorológico para tu ciudad.

  • Vaya a su Holgura de configuración para agregar la Barra de configuración.
  • Voy a crear un comando de prueba de humo para que mi equipo pueda activar una prueba de humo desde slack para comprobar el estado de la aplicación.

  • Añadir la integración de configuración como se muestra aquí. Proporcione la URL a la que necesitamos llamar para activar el trabajo de Jenkins.

  • Seleccione la opción de auto-ayuda completa

  • una Vez que la configuración se realiza, puede verificar de inmediato en su Holgura. Simplemente escribe ‘/ s — – puedes ver el comando’ smoketest’

  • Invocar el comando: Compruebe si Jenkins es capaz de activar el trabajo.

  • Si el Trabajo requiere un parámetro, Utilice el siguiente formato de dirección URL para invocar el trabajo con los parámetros por Defecto.
curl -X POST http://@/job//buildWithParameters
  • Si necesita pasar algún parámetro específico, simplemente agregue la variable y el valor en el parámetro.
curl -X POST http://@/job//buildWithParameters?ENVIRONMENT=UAT
  • Para obtener el estado/resultado del trabajo, el trabajo debe configurarse para publicar los resultados en Slack. Puedes consultar un artículo sobre eso aquí.

Nota

  • Para que el enfoque anterior funcione, Slack debe tener acceso a tu servidor Jenkins. Asegúrese de que no esté bloqueado por el firewall.

Resumen

Los comandos de Slack son muy útiles y útiles para obtener información o para activar algo que podrías hacer con frecuencia. Al hacer esto, cualquier usuario no técnico del equipo podría hacer que utilizaras tus scripts de prueba automatizados llamando directamente al comando de barra diagonal.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.