122 votes

Jenkins pipeline : comment passer à un autre dossier ?

Actuellement, j'utilise le pipeline Jenkins script.

Pour exécuter une commande, j'ai besoin d'accéder à un dossier en dehors du répertoire de l'espace de travail.

J'ai essayé sh "cd $workspace/" mais il renvoie le dossier de l'espace de travail actuel.

Comment puis-je passer au répertoire racine de l'espace de travail et ensuite accéder à un autre dossier. Veuillez m'aider.

225voto

tsl0922 Points 1855

Vous pouvez utiliser le dir étape, par exemple :

dir("folder") {
    sh "pwd"
}

El folder peut être un chemin relatif ou absolu.

0 votes

Mais il sera placé dans le dossier de la tâche en cours. Je veux passer à l'espace de travail Jenkins.

1 votes

Comment revenir en arrière ?

3 votes

@DanDan tout en dehors de ça dir L'étape est "retour vers le haut", voir aussi la réponse/exemple de Gonzalo Robert Diaz : stackoverflow.com/a/59776342/757308

53voto

El dir peut envelopper, n'importe quelle autre étape, et tout cela fonctionne à l'intérieur d'une steps par exemple :

steps {
    sh "pwd"
    dir('your-sub-directory') {
      sh "pwd"
    }
    sh "pwd"
}

2 votes

sh "$PWD" n'est pas une commande correcte, car vous essayez d'exécuter le chemin lui-même.

3 votes

@GonzaloRobertDíaz sh est l'étape de Jenkins qui exécute l'argument que vous passez comme shell script. Si vous testez votre propre code, vous obtiendrez un permission denied erreur car $PWD n'est pas exécutable. Utilisez echo "$PWD" o sh "pwd" à la place. Apprenez aussi à accepter les critiques.

33voto

Raj Bangarwa Points 364

Utilisez la variable d'environnement WORKSPACE pour changer le répertoire de l'espace de travail.

Si vous utilisez Jenkinsfile, utilisez le code suivant :

dir("${env.WORKSPACE}/aQA"){
    sh "pwd"
}

15 votes

dir('aQA') fonctionne de la même manière. Pas besoin de cette complexité

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