我正在尝试将Jenkinsfiles从脚本管道转换为声明性管道。我在中有一个这样的块Jenkinsfile:
Jenkinsfile
ws("/path/to/dir") { // do stuff }
我不知道它到底能做什么,以及将其转换为声明性管道语法的正确方法是什么。
ws分配一个新的工作区。您将使用它来确保其他任何因素都不会干扰磁盘上运行所附步骤的位置。
ws
node
dir
您可以按照与脚本相同的方式在声明性管道中使用它:
pipeline { agent { label 'docker' } stages { stage('hot_stage') { steps { sh 'pwd' ws('/tmp/hey') { sh 'pwd' } } } } }
产生输出:
+ 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
参考资料: