2017-05-08 180 views
0

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

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

詹金斯的管道可能吗?

回答

3

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

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

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

在另一方面,如果你想存储“神器”或自定义文件在詹金斯你可以检查:

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

然后你就可以使用,例如下载:wget的

+0

有没有办法手动添加工件到Jenkins服务器? – loneraver

+0

@loneraver查看我的更新 –

+0

UserContent看起来像现在的解决方案,直到我可以在这里获得像Nexus Repository OSS之类的东西。谢谢! – loneraver

0

我的意见有三种选择:

    在管道插件

此处3210

  • 使用藏匿/ unstash特征是上藏匿一个很好的教程/ unstash:Tutorial

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

  • 使用共享工作区插件。但是这只会让它变得复杂。

  • 信息:

    工件:档案被设计用于更长期的文件存储(例如,从你的构建中间二进制文件)。工件需要更多的存储空间和资源管理。

    隐藏:保存一组文件并稍后在相同的版本中使用,通常在另一个节点/工作区上。隐藏和非冲突步骤旨在用于小文件。可以在管道内使用藏匿/不存储,仅为本地存储作品分配名称。

    +0

    1)我一直在使用隐藏很多,但不是只有在构建的持续时间有效的存储?他们不坚持跨版本,对吗? 2)CopyArtifact是否适用于管道? – loneraver

    +0

    1.是的你是对的。存储仅在构建期间有效,并有助于保存数据。 2.是的copyartifact也适用于管道,有很好的教程。 https://开头詹金斯。io/doc/pipeline/steps/workflow-basic-steps /#code-archive-code-archive-artifacts –

    +0

    谢谢!但是,我无法从链接中找到有关副本文件的教程,只是命令文档的存根。但是,我注意到有一个“unarchive”命令,但在我的Snippet Generator中,它在高级/弃用部分列出。它是否被弃用? – loneraver

    相关问题