使用:
詹金斯: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
如果我有多个相同版本的包,因为它遵循命名标准,那么我不会喜欢它。