Bouteiller

Soporte de Bouteiller

Bouteiller es una app gratuita para iPhone y iPad con la que puedes seguir y manejar tus servidores Jenkins: estado de los jobs, logs de consola, lanzamiento y detención de builds, aprobación de los inputs de los pipelines, widgets y Atajos.

Requisitos

Crear un token de API

Bouteiller se conecta con tu nombre de usuario de Jenkins y un token de API, nunca con tu contraseña.

  1. Inicia sesión en la interfaz web de Jenkins.
  2. Abre la página Security (Seguridad) de tus ajustes de usuario: ve a https://tu-jenkins/me/security (el formulario del servidor de la app tiene un botón Abrir la página del token que lo hace por ti), o haz clic en tu nombre arriba a la derecha y luego en Security. Ahí está la sección API Token.
  3. En la sección API Token, elige Add new Token (Añadir token), ponle un nombre (por ejemplo, «Bouteiller iPhone») y genéralo.
  4. Copia el token enseguida: Jenkins solo lo muestra una vez.
  5. En Bouteiller, añade un servidor e introduce su dirección, tu nombre de usuario y el token. La app comprueba la conexión y la versión de Jenkins antes de guardarlo.

Puedes revocar el token en cualquier momento desde la misma página de Jenkins; la app indicará entonces que se han rechazado las credenciales.

VPN y autoridades de certificación internas

Servidores accesibles solo por VPN

Bouteiller no controla tu VPN. Al añadir o editar un servidor, activa Accesible solo por VPN: así, cuando el servidor no responda, la app te propondrá conectarte a la VPN en lugar de mostrar un error genérico.

Certificados de una autoridad interna

Si tu servidor Jenkins usa un certificado emitido por la autoridad de certificación propia de tu organización, iOS no confía en él de forma predeterminada. Hay dos opciones:

Aprueba solo un certificado cuya huella hayas comprobado con tu departamento de informática. De lo contrario, cualquiera que pudiera interceptar la conexión podría leer tu token de API.

HTTP sin cifrar

Se espera HTTPS. HTTP sin cifrar solo se acepta para un servidor de la red local, después de permitirlo explícitamente en el formulario del servidor: en ese caso, el token de API se envía sin cifrar.

Notificaciones

En esta versión, las notificaciones funcionan en modo local: la app comprueba tus jobs favoritos en segundo plano y muestra una notificación en el dispositivo cuando ocurre algo. No interviene ningún servidor del desarrollador.

Configuración

  1. Añade el job a tus favoritos.
  2. Toca la campana del job favorito y elige los eventos: build iniciado, éxito, fallo, inestable, vuelta a verde, abortado, input pendiente. La opción por defecto («Avisarme de problemas») cubre fallo, inestable, vuelta a verde e input pendiente.
  3. Permite las notificaciones cuando iOS te lo pida. El estado del job en ese momento sirve de referencia: solo se notifican los eventos posteriores.

Límites del modo local

La sección Notificaciones de los ajustes de la app indica si las notificaciones y la actualización en segundo plano están permitidas, y te permite hacer una comprobación inmediata.

En una versión futura se prevén notificaciones push que funcionen también fuera de la VPN, mediante un plugin de Jenkins opcional.

Preguntas frecuentes

¿Es Bouteiller una app oficial de Jenkins?
No. Bouteiller es una app independiente, desarrollada por un particular. No está afiliada al proyecto Jenkins ni cuenta con su respaldo.
¿Tengo que instalar un plugin en mi servidor?
No. La app funciona con un servidor Jenkins sin ningún plugin. Los jobs freestyle se pueden consultar, lanzar, detener y relanzar; los stages de los pipelines, los inputs y los resultados de tests se muestran cuando están instalados los plugins correspondientes.
La app dice que mi versión de Jenkins no es compatible.
Bouteiller necesita Jenkins 2.580.1 LTS o una versión weekly 2.580 o posterior. Consulta a tu administrador para actualizarlo.
La app dice que se han rechazado las credenciales.
Comprueba el nombre de usuario (tu ID de usuario de Jenkins, que no tiene por qué ser tu nombre visible) y el token de API. Si el servidor está detrás de un proxy inverso o de un portal de inicio de sesión único, asegúrate de que la cabecera Authorization llegue a Jenkins.
No se puede acceder al servidor, aunque funciona en Safari.
Comprueba que has introducido la misma dirección que en Safari, incluida la ruta (por ejemplo, https://ci.ejemplo.es/jenkins). Si Safari solo funciona con la VPN, activa la opción VPN del servidor. Si el certificado no es de confianza, consulta autoridades de certificación internas.
¿Puedo proteger las acciones delicadas?
Sí. En los ajustes, puedes requerir Face ID, Touch ID o el código del dispositivo antes de detener un build y antes de aprobar o rechazar un input. La autenticación la gestiona iOS; la app nunca ve los datos biométricos.
¿Puedo usar varios servidores?
Sí, todos los que quieras. La pestaña Favoritos reúne los jobs favoritos de todos los servidores.
¿Qué widgets y atajos hay disponibles?
Widgets: estado de un job (pantalla de inicio y pantalla bloqueada), favoritos, builds fallidos de un servidor, con un botón para lanzar los jobs sin parámetros. Atajos y Siri: lanzar un job, estado de un job, builds fallidos, abrir un job. Un control del centro de control lanza un job favorito. Los widgets muestran la hora de su última actualización e indican cuándo no se puede acceder al servidor.
¿Por qué los widgets muestran datos antiguos?
Los widgets se actualizan cuando iOS lo permite y solo mientras el servidor esté accesible. Si no, conservan el último estado conocido, con la hora de la última actualización y un indicador de «inaccesible».
¿Cómo elimino mis datos?
Elimina el servidor en la app: su token de API se borra del llavero, junto con sus favoritos, sus suscripciones a notificaciones y sus datos en caché. La caché por sí sola se puede vaciar en los ajustes. Al eliminar la app se borran sus datos; como iOS puede conservar los elementos del llavero tras eliminar una app, elimina primero tus servidores si quieres asegurarte de que los tokens se borran, y revoca los tokens en Jenkins.
¿La app recopila datos?
No. Consulta la política de privacidad.

Contacto

Si tienes una pregunta, un problema o una sugerencia, escribe a: nicolas.mannocci@gmail.com.

Para ayudar a resolver un problema, indica la versión de la app (aparece en sus ajustes), tu dispositivo y su versión de iOS, tu versión de Jenkins y, si procede, si hay una VPN o una autoridad de certificación interna de por medio. No envíes nunca tu token de API.