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