当前位置: 首页 > 知识库问答 >
问题:

Jenkins artifactory plugin - 识别文件不存在

龚苏燕
2023-03-14

我正在使用Jenkins Artifactory插件来发布工件以及下载所需的工件。下载工件时,需要下载的内容是在 Jenkins 管道执行时动态确定的。

如果需要下载的工件不在artifactory中,我想用相应的错误消息中止管道。不幸的是,我不知道如何确定文件的存在或不存在。如果请求的文件不存在,则< code > artifactory . download 调用不会引发任何异常,也不会返回任何有意义的信息。

当然,我总是可以在下载后检查文件是否存在,但我希望有一些“本机”方式。那么,在下载调用后,如何验证我请求的项目是否已下载?

共有1个答案

夔建章
2023-03-14

实际上,有2个选项:

选项1:使用失败NoOp标志。如果下载为0,它会使您的管道失败:

server.download spec: downloadSpec, failNoOp: true

选项2:在最新的Jenkins Artifactory插件v3.2.0中,有一个新功能可以列出下载/上传的文件:

def buildInfo = Artifactory.newBuildInfo()
server.download spec: downloadSpec, buildInfo: buildInfo
if (buildInfo.getDependencies().size() == 0) {
 // Do your magic
}

有关详细信息,请参阅文档。

 类似资料:
  • 为了清理一些磁盘空间,我将我的mp3收藏从内部存储移到外部存储。我的设备是根的,当时我是。 文件可以看到(和播放)从文件管理器,但我的音乐播放器没有看到他们。 看起来有趣的是移动后的文件权限。这是一个文件仍然在内部存储,但没有移动。 下面是几个被移到外部存储的文件: 将它们移动到外部存储似乎更改了权限。不幸的是,不会影响实际的文件权限: 我尝试将文件移回内部存储以更改那里的权限。直到我将文件移回外

  • 突然之间,网络Storm对我来说不认识Javascript了。 如果我添加这样的文件: 之后我在IDE中看到的是: 如果我刷新,重新启动Webstorm,它仍然无法识别文件!网络Storm已无法使用!

  • 我正在尝试使用log4j2记录器登录我的aws lambda函数,但不幸的是找不到log4j2.xml,我只是在CloudTrail日志中看到标准错误消息 “错误状态记录器未找到log4j2配置文件。使用默认配置:仅将错误记录到控制台。” 如果我在本地运行应用程序(在main方法中调用对象方法)一切正常)。我遵循官方的AWS留档,但没有帮助。 可以部署的虚拟项目如下:https://github.

  • Webstorm 无法将我的一个.js文件识别为 JavaScript 文件,因此我丢失了语法突出显示并能够添加断点。我查看了文件,有问题的文件似乎与其他正常工作的.js文件具有相似的设置。 如果我更改文件名,它可以正常工作。因此,不知何故,Webstorm 陷入了误解具有此名称的文件类型的困境。我还可以在哪里编辑项目?

  • 我通过Vue-CLI创建了一个Vue项目,当我使用Web斯托打开项目时,但是文件看起来像纯文本,没有高亮语法。 代码如下: