tutorial travis significado logo jenkins

travis - La eliminación de trabajos de Jenkins a través de GUI no elimina sus espacios de trabajo en esclavos



jenkins tutorial (4)

Desafortunadamente es: https://groups.google.com/forum/#!topic/jenkinsci-users/SiZ3DL-UJ-8

Los espacios de trabajo encontrados en los esclavos no se eliminan porque este es un problema no trivial (significaría que los trabajos necesitarían registrar cada esclavo en el que se haya ejecutado el trabajo y también tendría que tener en cuenta los esclavos que están fuera de línea, por un verdadera solución completa).

Recientemente eliminé 2 trabajos de Jenkins (a través de GUI). Cuando me conecto a los esclavos, sigo viendo el espacio de trabajo de esos dos trabajos. ¿Es este comportamiento normal?

Notas:

  • El maestro y los esclavos de Jenkins se están ejecutando en el entorno de Windows.
  • Master se ejecuta en Windows Server 2003 y los esclavos se ejecutan en Windows Server 2008 R2.
  • La versión de Jenkins es 1.509.2

Saludos, Benil


Para refinar lo que dijo @oblio

significaría que los trabajos necesitarían registrar cada esclavo en el que el trabajo se haya ejecutado alguna vez

Las compilaciones de trabajos registran en qué esclavo se ejecutaron, pero las compilaciones se pueden eliminar (y a menudo se eliminan) después de un tiempo.

y también debería tener en cuenta a los esclavos que están fuera de línea

Por supuesto, pero esto se maneja generalmente con la función de limpieza del espacio de trabajo incorporada en el núcleo de Jenkins, ya que se ejecuta como un proceso en segundo plano que trata con esclavos actualmente en línea (eliminando espacios de trabajo poco utilizados), por lo que eventualmente se limpiará cualquier esclavo que esté en línea. .

El problema es que esta función actualmente ignora los espacios de trabajo aparentes que no corresponden a un trabajo que no existe en el momento en que se ejecuta, por error en el lado conservador. Este compromiso mío reescribió el hilo de limpieza para solucionar algunos otros problemas, pero no este.


Encontré una secuencia de comandos efectiva que hace un buen trabajo de solo limpiar cuando el espacio en disco baja y desconecta el esclavo: https://gist.github.com/rb2k/8372402


Acabo de escribir un script que se puede programar periódicamente para limpiar el espacio de trabajo no utilizado. Pasará por todos los esclavos de Jenkins y comprobará si los directorios debajo del espacio de trabajo ya están eliminados en el maestro de Jenkins.

https://gist.github.com/ceilfors/1400fd590632db1f51ca