Woodpecker CI, la plataforma de integración continua open source, publica la versión 3.20 con nuevas funciones para la gestión de pipelines, cambios de seguridad y optimizaciones de rendimiento que afectan a administradores de instancias y equipos que comparten recursos.
Qué cambia: control manual de workflows y nuevo entorno CI_REPO_ID
La versión 3.20 permite seleccionar un workflow concreto al disparar manualmente un pipeline. Hasta ahora, al ejecutar manualmente un pipeline no era posible elegir individualmente qué workflow ejecutar, lo que obligaba a ejecutar todo el conjunto o a crear soluciones alternativas. Esta opción facilita pruebas puntuales y despliegues dirigidos.
También se introduce la variable de entorno CI_REPO_ID, que expone el identificador del repositorio dentro del entorno de ejecución. Esto puede ser útil en scripts y pasos que necesiten referenciar de forma fiable el repositorio sin parsear URLs o metadatos externos.
Restricciones de agentes y control de accesos
Para entornos en los que varias organizaciones o equipos comparten una misma instancia de Woodpecker, la actualización añade una opción para restringir a las organizaciones y usuarios a sus propios agentes. Con ello, los administradores pueden limitar qué agentes pueden ejecutar pipelines de determinada organización, reduciendo el riesgo de que jobs de una entidad consuman recursos o accedan a runners de otra.
Relacionado con acceso y permisos, la actualización endurece la obtención de secretos a nivel de organización y el acceso a credenciales de registro. Además, si la sincronización de permisos con un servicio de hosting Git conectado falla, Woodpecker ahora aplica un modo de solo lectura en lugar de dejar permisos más amplios por error. Esto disminuye la probabilidad de elevaciones de privilegio accidentales al integrar con GitHub, GitLab, Gitea u otros servicios compatibles.
Mejoras de seguridad en credenciales y registros
Woodpecker 3.20 elimina tokens de agente del entorno de procesos y evita que credenciales tipo bearer se registren en logs con nivel de traza. También rota los JWT de repositorio durante las operaciones de reparación de repositorios y refuerza la obtención de archivos de configuración, con el objetivo de minimizar la exposición accidental de secretos y credenciales en memoria o en registros.
Rendimiento: programación de la cola y fiabilidad tras reinicios
En el plano de rendimiento, la versión acelera los cálculos del planificador de cola, lo que reduce la latencia entre la encolación de un job y su programación efectiva en un agente. Además, se asegura que una cola pausada permanezca en ese estado después de un reinicio del servidor, evitando ejecuciones inesperadas tras interrupciones del servicio.
Interfaz, CLI y compatibilidad corregida
En la interfaz web, los desarrolladores han rediseñado el tema oscuro, mejorado la consistencia de las secciones colapsables de workflows y añadido una indicación visual cuando se aplica la caída de permisos a modo solo lectura. En la línea de herramientas, el comando lint de la CLI ahora prioriza detectar automáticamente los archivos de configuración de Woodpecker, simplificando la validación de configuraciones locales.
Correcciones de estabilidad y backend
La actualización corrige varias causas de crashes del servidor relacionados con el parseo de configuraciones y el almacenamiento de workflows. También soluciona un problema en el que workflows con depends_on podían ejecutarse pese a que una dependencia había fallado tras recargar la cola de ejecución.
En el backend de Kubernetes se mejoró la fiabilidad: pods eliminados con estado desconocido ya no se reportan incorrectamente como exitosos, y la validación de la configuración del backend ahora devuelve error ante opciones inválidas. Asimismo, se aplicaron correcciones en la resolución de commits de tags anotados y en el refresco de tokens OAuth para distintos proveedores Git.
Nota sobre una corrección posterior
Los desarrolladores detectaron un cambio involuntario en la primera publicación de 3.20 que rompía cierta funcionalidad relacionada con drone/envsubst y agrupación de logs de pasos en la interfaz. Para solucionar esto se publicó una versión correctora que restaura la funcionalidad afectada y corrige el problema de visualización.
Qué deben hacer administradores y equipos
- Revisar la configuración de agentes y, si procede, activar las restricciones para que organizaciones usen solo sus agentes.
- Actualizar a la versión corregida que restaura drone/envsubst si dependen de esa funcionalidad o comprobar las notas de la release antes de actualizar.
- Comprobar las políticas de registro y tratamiento de trazas para asegurarse de que credenciales sensibles no se registran en entornos de producción.
- Probar pipelines críticos en un entorno de staging tras la actualización, prestando atención a workflows con depends_on y a la persistencia del estado de colas tras reinicios.
Lee también:
- Uptime Kuma corrige fallos y tapa un vector de RSS con la actualización 2.5.9
- labwc 0.20.3 añade aceleración de puntero personalizable y nuevas opciones de entrada
Fuente: Linuxiac




