Jenkins artifactory 插件 - 识别文件不存在
Jenkins artifactory plugin - identify that files are not there
我正在使用 Jenkins Artifactory 插件来发布工件以及下载所需的工件。下载工件时,需要下载的内容是在 Jenkins 管道执行时动态确定的。
如果需要下载的工件不在工件中,我想中止管道并显示相应的错误消息。不幸的是,我不知道如何确定文件是否存在。 Artifactory.download
如果请求的文件不存在并且 return 没有任何有意义的信息,调用不会抛出任何异常。
当然,我总是可以在下载后检查文件是否存在,但我希望有一些 "native" 方式。那么,我如何在 download
调用后验证我请求的工件是否已下载?
实际上,有2个选项:
选项 1:
使用 failNoOp 标志。如果下载次数为 0,您的管道将失败:
server.download spec: downloadSpec, failNoOp: true
选项 2:
在最新的 Jenkins Artifactory 插件 v3.2.0 中,有一个新功能可以列出 downloaded/uploaded 个文件:
def buildInfo = Artifactory.newBuildInfo()
server.download spec: downloadSpec, buildInfo: buildInfo
if (buildInfo.getDependencies().size() == 0) {
// Do your magic
}
可以在 documentation 中找到更多信息。
我正在使用 Jenkins Artifactory 插件来发布工件以及下载所需的工件。下载工件时,需要下载的内容是在 Jenkins 管道执行时动态确定的。
如果需要下载的工件不在工件中,我想中止管道并显示相应的错误消息。不幸的是,我不知道如何确定文件是否存在。 Artifactory.download
如果请求的文件不存在并且 return 没有任何有意义的信息,调用不会抛出任何异常。
当然,我总是可以在下载后检查文件是否存在,但我希望有一些 "native" 方式。那么,我如何在 download
调用后验证我请求的工件是否已下载?
实际上,有2个选项:
选项 1: 使用 failNoOp 标志。如果下载次数为 0,您的管道将失败:
server.download spec: downloadSpec, failNoOp: true
选项 2: 在最新的 Jenkins Artifactory 插件 v3.2.0 中,有一个新功能可以列出 downloaded/uploaded 个文件:
def buildInfo = Artifactory.newBuildInfo()
server.download spec: downloadSpec, buildInfo: buildInfo
if (buildInfo.getDependencies().size() == 0) {
// Do your magic
}
可以在 documentation 中找到更多信息。