Jenkins构建可以自己访问存档的工件吗?

时间:2012-01-13 15:06:09

标签: jenkins

我正在使用Jenkins并在构建结束时使用“归档工件”步骤将它们存档为zip文件。

我想使用脚本在构建结束时将工件推送到远程服务器,而不是使用此步骤。我要推送的服务器在脚本中使用REST API / HTTP PUT请求来上传文件。

请注意,我正在寻找访问在同一版本中创建的工件。所以,如果我在构建#5,我想要构建#5的工件,而不是构建#4。

有没有办法使用脚本访问此zip文件,该脚本与创建它的构建版本相同?

我需要远程上传此zip,并且不想创建另一个作业。

3 个答案:

答案 0 :(得分:5)

您可以安装其中一个“Publish Over...”插件,以便在构建结束时上传您的工件。

  

Publish Over插件的目标是提供一致的一组   发送构建工件时的功能和行为...某处。

有关发布工件的其他方法,另请参阅full list of "upload" plugins

答案 1 :(得分:4)

就像@Christopher所说,您可以使用Jenkins插件页面上的任何Publish Over插件将工件上传到任何

如果要从构建本身访问存档的zip文件,可以使用以下链接访问它:

http://<server>/job/${JOB_NAME}/lastSuccessfulBuild/artifact/<artifact name w/folder>

例如:

  • server = myserver.com
  • 职位名称= myproject
  • artifact = del/project.zip

您的网址将是:

http://myserver.com/job/myproject/lastSuccessfulBuild/artifact/del/project.zip

编辑:问题已经改变。在任何情况下,这都可以用于访问当前构建中的先前构建的工件。

答案 2 :(得分:1)

我找不到访问生成它的构建的“Archive the Artifacts”包。此步骤始终出现在构建中的最后一步。在构建结束之前访问URL(例如在通过脚本构建期间)会产生空白的zip文件。为了解决这个限制,我正在制作第二个链接的构建作业以获取zip并运行我的脚本来部署它。