我正在将一堆旧脚本转换为 Jenkins 管道作业。对于我们的许多脚本,我们使用 JFrog CLI 来处理与 Artifactory 的所有交互。使用 Jenkins 管道,我们现在可以选择通过 Artifactory 插件来实现。但是,我似乎找不到以这种方式替换文件内变量的方法。
使用 JFrog CLI:
jfrog rt dl --spec spec.json --spec-vars="foo=fooValue;bar=barValue"
运行此命令时,spec.json 的所有实例${foo}
及其${bar}
内部都将替换为相应的值。一切都用一条线干净地工作。
使用 Jenkins 流水线:
rtDownload(
serverId: 'Artifactory',
spec: '''{
"files": [
{
"pattern": "spec.json"
}
]
}'''
)
其次是
rtDownload(
serverId: 'Artifactory',
specPath: 'spec.json'
)
这让我得到了我想要的规范文件,并下载了列出的大部分文件,但无法找到需要变量的文件。我一直无法在文件下载的任何地方或之后找到任何选项来包含变量替换。
我仍然可以在脚本中像往常一样使用 JFrog CLI,或者添加另一个函数来手动修改此文件以包含变量,但理想情况下,我希望通过包含的管道集成干净地完成所有事情。
任何建议将不胜感激。