120 votes

Vérifier si un fichier existe dans le pipeline jenkins

J'essaie d'exécuter un bloc si un répertoire existe dans mon espace de travail Jenkins et l'étape du pipeline. "fileExists : Vérifier que le fichier existe" dans l'espace de travail ne semble pas fonctionner correctement.

J'utilise Jenkins v 1.642 et Pipeline v 2.1. et j'essaie d'avoir une condition telle que

if ( fileExists 'test1' ) {
  //Some block
}

Quelles sont les autres possibilités qui s'offrent à moi dans la filière ?

2 votes

Veuillez décrire le comportement incorrect que vous observez :

247voto

Ain Points 1

Vous devez utiliser des parenthèses lorsque vous utilisez l'option fileExists étape dans un if condition ou assigner la valeur retournée à une variable

Utilisation de la variable :

def exists = fileExists 'file'

if (exists) {
    echo 'Yes'
} else {
    echo 'No'
}

Utilisation de parenthèses :

if (fileExists('file')) {
    echo 'Yes'
} else {
    echo 'No'
}

1 votes

Def reportPath = build.getWorkspace().child("Report.txt") lequel est correct ? def exists = fileExists reportPath OR def exists = fileExists 'reportPath'. Je reçois un message [Could not find content token (check your usage) : fileExists] dans les deux cas.

2 votes

J'obtiens une erreur lorsque j'essaie cette syntaxe ( fileExists entre parenthèses) -- "WorkflowScript : 90 : Expected a step @ ligne 90, colonne 21", avec un curseur pointant sur l'adresse de l'utilisateur. if .

2 votes

Qu'en est-il de la comparaison des noms de fichiers ? Cette méthode utilise-t-elle la comparaison sensible à la casse lors de la comparaison des noms de fichiers ? Si oui, comment est-il possible de comparer sans tenir compte de la casse ?

16voto

Roman Points 13

Le mot clé "return" doit être utilisé

stage('some stage') {
    when { expression { return fileExists ('myfile') } }
    steps {
           echo "file exists"
          }
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X