J'essaie de convertir quelques Jenkinsfile
de Pipeline Scripté en Pipeline Déclaratif . J'ai un bloc comme celui-ci dans un Jenkinsfile
:
ws("/path/to/dir") {
// do stuff
}
Je me demande ce que cela fait exactement et quelle est la bonne façon de le convertir en syntaxe Declarative Pipeline.
ws
alloue un nouvel espace de travail. vous l'utiliseriez pour vous assurer que rien d'autre n'interfère avec l'emplacement sur le disque où vous exécutez les étapes ci-jointes.
node
, puisque node
s'assurera également qu'elle sera exécutée avec un exécuteur séparé.dir
, car dir
n'assurera pas un emplacement isolé sur le système de fichiers comme le fera ws
.vous pouvez l'utiliser dans un pipeline déclaratif de la même manière que scripté:
pipeline {
agent { label 'docker' }
stages {
stage('hot_stage') {
steps {
sh 'pwd'
ws('/tmp/hey') {
sh 'pwd'
}
}
}
}
}
produit une sortie:
+ pwd
/opt/jenkins/workspace/tool_jenkins2-test_master-R4LIKJR63O6POQ3PHZRAKWWWGZZEQIVXVDTM2ZWZEBAWE3XKO6CQ
[Pipeline] ws
Running in /tmp/hey
[Pipeline] {
[Pipeline] sh
[hey] Running Shell script
+ pwd
/tmp/hey
les références: