我们正在将我们的构建和测试系统转移到 Jenkins,并且正在寻找一种简单的方法(我们不必自己编写所有逻辑代码)来管理构建工件。
基本上,我们需要一种有组织的方式来按构建的类型、构建它的用户等顺序存储它们,例如:
johnd/nightly/r543241/win32/program.zip
johnd/nightly/trunk/lin64/program.tar.gz
master/release/2.1/win32/program.zip
这样我们可以在构建完成时上传,并在测试阶段轻松检索所需的工件。
到目前为止,我们只是将文件存储在 NFS 上的目录中,但最近开始考虑使用工件管理器。我看过 Artifcatory、Archiva 和 Nexus。但是所有看起来都非常以 Java 为中心,或者至少需要 maven 才能使用。由于我不想引入更多复杂性(我们主要使用 python,scons 是我们的构建工具)并且我不想将 maven 引入混合,我正在寻找具有简单命令行的东西(或更好的 REST/Python 接口)来上传、下载、管理工件。
如果您不使用工件管理器,而是使用其他一些聪明的方法来管理您的 C++ 工件以满足发布/测试需求,我也会很高兴听到这一点。