使用:
Jenkins: 2.7.2
PackageCloud插件: 1.11
使用Jenkins PackageCloud插件将工件上传到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的工件。我也无法为软件包创建唯一的文件名,因为如果我对命名标准的版本有超过1个软件包,则apt-get
不会喜欢它。
相关文章:詹金斯packagecloud上传 - 缺少伪影 - 指纹 - 没有这样的文件或目录
jenkins/packagecloud插件作者 -
感谢您的反馈!我们的后端不支持任何形式的软件包覆盖,但是我们的命令行客户端具有--skip-errors
标志,该标志将忽略任何错误并继续上传所有作为参数的有效软件包。
我创建了一张内部票,将此功能添加到Jenkins插件中。但是,在更新之前,我建议暂时将命令行客户端与--skip-errors
标志使用。