我有以下的使用案例:
我认为,可能是由于周围的
注意:Jenkins管道文件被找到并真正执行了。问题在执行期间。
请查看示例代码:
使用编写好的管道脚本检出/拉取特定的Git版本
(我需要这个,因为我动态地检索版本)从该版本中加载一个Jenkins管道文件,该文件位于之前检出的文件中
该文件将依赖于来自相同检出版本的文件
(因此,来自同一工作区)
我认为,可能是由于周围的
node
,因为node
关键字会创建工作区,如文档中所述。但是当我尝试在外部加载它时,Jenkins不允许这样做,因为这样会“离开沙盒”。注意:Jenkins管道文件被找到并真正执行了。问题在执行期间。
请查看示例代码:
内联管道脚本
node('master') {
def latestBuildableRevision = readFile '/my/LATEST-BUILDABLE-REVISION.txt'
checkout poll:false,
scm:[$class:'GitSCM', branches:[[name:latestBuildableRevision]],
doGenerateSubmoduleConfigurations:false,
extensions:[[$class: 'CleanBeforeCheckout']], submoduleCfg:[],
userRemoteConfigs:[[credentialsId:'...', url:'...']]]
load 'further-script-logic.jenkins'
}
File: further-script-logic.jenkins
node('master') {
// make use of certain files
// assumption: pwd() is the *same* workspace which were checked-out before
// problem: it's not, it's a new empty workspace
}