作者:小小贤 | 来源:互联网 | 2022-12-10 14:38
我们有一系列相同的Jenkinsfile脚本,除了每个脚本配置一个环境项以指向包含Jenkinsfile的SCM结账中的目录.它用于引用同一目录中的文件.SCM repo将所有这些Jenkinsfile脚本放在不同的目录中.如果我只能检索包含Jenkinsfile的目录的路径,我会看到一个简单的开头,使管道脚本在每种情况下都相同.
我试过几个不同的东西,比如包含的步骤
script {
println __FILE__
}
和
script {
scriptDir = new File(getClass().protectionDomain.codeSource.location.path).parent
println scriptDir
}
两者都没有运行(在__FILE__
案例中给出了不存在的变量,在第二种情况下违反了权限).我试过"${__FILE__}"
和其他变种.
我需要在step-sh块中使用该目录,所以我认为它需要在一个环境项中.
现在,Jenkins作业配置提供了Jenkins文件的路径,但我不想重复这一点以在该级别创建另一个环境变量.
已经咨询过:
获取Job DSL正在处理的脚本目录的绝对路径
获取Jenkins Pipeline插件中工作空间目录的绝对路径
如何使用Pipeline引用Jenkinsfile目录?
以及更多Google点击和其他网站.
感谢帮助.