现有二进制文件添加到 Jenkins 管道构建的最佳方法是什么?
我有一个 Python 脚本,它环绕着现有的闭源二进制 exe 文件。由于许可原因无法将 exe 包含在 GitHub 存储库中,因此我想从本地服务器添加二进制文件作为构建过程的一个步骤。闭源二进制文件可以打包以供内部使用,但不能添加到 SCM 中。
这在 Jenkins 的管道中可能吗?
首先,请不要在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
我认为有三种选择:
- 在管道插件中使用存储/取消存储功能
这里有一个关于存储/取消存储的好教程:教程
-
使用CopyArtifact插件:文件可以共享,从其他作业复制,但请记住它占用工作区。
-
使用共享工作区插件。但这只会使事情变得复杂。
信息:
工件:存档专为长期文件存储而设计(例如,构建中的中间二进制文件(。项目需要更多的存储空间和资源管理。
存储:保存一组文件,稍后在同一生成中使用,通常在另一个节点/工作区上使用。 存储和取消存储步骤旨在用于小文件。Stash/unstash 可以在管道内使用,只需为存储分配一个名称,并且只能在本地工作。