将二进制文件添加到Jenkins管道构建中?

时间:2017-05-08 19:49:57

标签: jenkins software-packaging

将现有二进制文件添加到Jenkins管道构建的最佳方法是什么?

我有一个Python脚本,它包装了一个现有的闭源二进制exe文件。因为由于许可而无法将exe包含在GitHub存储库中,所以我想从本地服务器添加二进制文件作为构建过程中的一个步骤。封闭源二进制文件可以打包供内部使用,但不能添加到SCM中。

Jenkins的管道可以实现吗?

2 个答案:

答案 0 :(得分:2)

首先,请不要在SCM中存储二进制文件,搜索适当的位置/工具,例如Nexus Sonatype或JFrog。

然后,如果你没有时间,至少作为最后一个选项存储为另一个作业中的存档文件,然后使用CopyArtifact插件进行检索。

https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin

另一方面如果你想要商店"文物"或Jenkins中的自定义文件,您可以检查:

https://wiki.jenkins-ci.org/display/JENKINS/User+Content

然后你可以使用例如:wget

下载它

答案 1 :(得分:0)

我认为有三种选择:

  1. 在Pipeline插件中使用stash / unstash功能
  2. 这是关于stash / unstash的一个很好的教程:Tutorial

    1. 使用CopyArtifact插件:文件可以共享,从其他作业复制但记住它占用工作区。

    2. 使用共享工作区插件。但这只会让事情变得复杂。

    3. 的信息:

      工件:存档是为长期文件存储而设计的(例如,构建中的中间二进制文件)。工件需要更多的存储空间和资源管理。

      Stash:保存一组文件,稍后在同一版本中使用,通常在另一个节点/工作区上使用。 stash和unstash步骤设计用于小文件。 Stash / unstash可以在管道内部使用,只需为存储库分配一个名称即可。仅在本地工作。