es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  ,

Answer

  1. Avatar for 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 paso deployAllApps 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í:

    stage('Cuando hay cambios en el directorio raíz') {
      when {
        changeset "."
      }
      steps {
        script {
          deployAllApps = true
        }
      }
    }
    

    Esto debería activar correctamente el paso deployAllApps cuando se realicen cambios en tu Jenkinsfile en el directorio raíz.

Comments are closed.