0

使用:

詹金斯:2.7.2

包云插件:1.11

使用 Jenkins PackageCloud Plugin将工件上传到 PackageCloud 。

我的 Jenkins 工作创建了一个 .deb 包wfcli_5.0.10-2_amd64.deb,并使用此插件,我成功地将工件上传到我创建的私有 PackageCloud 存储库。

如果我重新运行该作业,它会创建相同的包 .deb 文件名并尝试将工件上传到 PackageCloud 并给我以下消息并将构建标记为失败。

19:07:07 2017-02-27T19:07:07.812+0000 [org.jenkinsci.plugins.packagecloud.ArtifactPublisher] wfcli_5.0.10-2_amd64.deb: Sent 118303133 bytes
19:07:07 2017-02-27T19:07:07.812+0000 [org.jenkinsci.plugins.packagecloud.ArtifactPublisher] wfcli_5.0.10-2_amd64.deb: Sent 118303135 bytes
19:07:16 2017-02-27T19:07:16.081+0000 [org.jenkinsci.plugins.packagecloud.ArtifactPublisher] ERROR  HTTP/1.1 422 Unprocessable Entity:
19:07:16 {"filename":["has already been taken"]}
19:07:16 2017-02-27T19:07:16.081+0000 [org.jenkinsci.plugins.packagecloud.ArtifactPublisher] Done
19:07:16 Build step 'Push to packagecloud.io' changed build result to FAILURE
19:07:16 Finished: FAILURE

我该如何解决这个问题。如果此插件中有一个选项可以忽略此错误并且不将构建标记为失败/使用新时间戳覆盖包文件,那就太好了。如果我正在构建的工件已经存在于 PackageCloud 中,我不想首先从 PackageCloud 中检查/删除工件。我也无法为包创建唯一的文件名,因为apt-get如果我有多个相同版本的包,因为它遵循命名标准,那么我不会喜欢它。

相关帖子:Jenkins PackageCloud 上传 - 缺少工件 - 指纹 - 没有这样的文件或目录

4

1 回答 1

0

jenkins/packagecloud 插件作者在这里——

感谢您的反馈!我们的后端不支持任何类型的包覆盖,但我们的命令行客户端有一个--skip-errors标志,它将忽略任何错误并继续上传所有作为参数给出的有效包。

我已经创建了一个内部票据来将此功能添加到 jenkins 插件中。但是,在更新之前,我建议暂时使用带有--skip-errors标志的命令行客户端。

于 2017-02-28T03:40:02.450 回答