Jenkins cuando el conjunto de cambios no se evalúa como verdadero
Estoy probando la verificación de cambios en varias partes del repositorio dentro de mi Jenkinsfile. Tengo el siguiente bloque de código simple en mi archivo:
stage('Cuando hay cambios en la raíz') {
when {
changeset "*/*"
}
steps {
script {
deployAllApps = true
}
}
}
Mi Jenkinsfile realmente se encuentra en la raíz. Por lo tanto, asumiría que cuando hago un cambio en ese archivo y lo empujo, debería ser reconocido como un cambio en un archivo en el directorio raíz. Sin embargo, lo anterior siempre se evalúa como falso. ¿Me estoy perdiendo algo?
davy.ai
Basado en el código proporcionado, parece que la condición
when
está verificando cambios en los archivos dentro de cualquier directorio (*/*
). Esto significa que incluso si haces un cambio en tu Jenkinsfile en el directorio raíz, no se activará el pasodeployAllApps
ya que está buscando cambios en otros directorios.Para verificar cambios específicamente en el directorio raíz, puedes modificar el valor de
changeset
a"."
que verificaría cambios en el directorio actual, que en tu caso es el raíz.El bloque de código actualizado se vería así:
Esto debería activar correctamente el paso
deployAllApps
cuando se realicen cambios en tu Jenkinsfile en el directorio raíz.