我正在为PHP项目开发Jenkins管道。由于我想从项目的根目录运行大多数步骤,因此我设置了customWorkspace
:
pipeline {
agent {
node {
label 'devvm-slave-01'
customWorkspace '/path/to/my/project'
}
}
stages {
stage('build') {
steps {
sh 'pwd'
...
}
}
}
}
工作正常,但我不喜欢该路径在Jenkinsfile
中进行了硬编码。
所以我试图通过使用参数来解决这个问题:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9sMHNudS5wbmcifQ==” alt =“在此处输入图像描述”>
问题是:我还没有找到一种方法来访问块pipeline.agent.node
中的参数。我可以在pipeline.stages.stage.steps
部分中阅读和处理它们。但不在node
块中。
是否可能/如何在node
的Jenkinsfile
部分中访问Jenkins项目参数?
您可以像这样传递参数而不是customWorkspace
的硬编码值:
pipeline {
agent {
node {
label 'devvm-slave-01'
customWorkspace PROJECT_ROOT
}
}
stages {
stage('build') {
steps {
sh 'pwd'
...
}
}
}
}