C++ C++;构建工件管理

C++ C++;构建工件管理,c++,jenkins,continuous-integration,artifacts,C++,Jenkins,Continuous Integration,Artifacts,我们正在将构建和测试系统转移到Jenkins,并正在寻找一种简单的方法(我们不必自己编写所有逻辑代码)来管理构建工件 基本上,我们需要一种有组织的方式来按构建类型、构建用户等顺序存储它们,例如: johnd/nightly/r543241/win32/program.zip johnd/nightly/trunk/lin64/program.tar.gz master/release/2.1/win32/program.zip 这样,我们可以在构建完成时上传,并在测试阶段轻松检索所需的工件 到

我们正在将构建和测试系统转移到Jenkins,并正在寻找一种简单的方法(我们不必自己编写所有逻辑代码)来管理构建工件

基本上,我们需要一种有组织的方式来按构建类型、构建用户等顺序存储它们,例如:

johnd/nightly/r543241/win32/program.zip
johnd/nightly/trunk/lin64/program.tar.gz
master/release/2.1/win32/program.zip
这样,我们可以在构建完成时上传,并在测试阶段轻松检索所需的工件

到目前为止,我们只是将文件存储在NFS上的目录中,但最近开始考虑使用工件管理器。我看过Artificatory、Archiva和Nexus。但所有这些看起来都非常以Java为中心,或者至少需要maven来处理。因为我不想引入更多的复杂性(我们主要使用python,scons是我们的构建工具),我也不想引入maven,所以我正在寻找一种简单的命令行(或者更好的REST/python接口)来上传、下载和管理工件


如果你不使用伪像管理器,但是使用一些其他聪明的方法来管理你的C++工件,以释放/测试需求,我也很高兴听到这个。

< P>我有完全相同的问题。我没能轻易地成功地集成人工制品,所以我忘了

目前,我使用copy artefact插件通过scp将文件复制到NFS共享。但这不是一个好的解决方案,因为共享在两台计算机上的安装方式可能不同,windows无法直接访问它们

但是一个真正的工件管理器对我们的项目来说是一件非常好的事情

在我以前的工作中,我使用了文档CMS(LiveLink),它提供了良好的服务: -自组织文件夹。 -持久url(我们可以移动、重命名文件夹和文件,给定文件的公共url永远不会更改,这太棒了:”http://server/go/123456789123456789“始终指向同一个文件。因此,您只需将此url提供给wget,即可获得该文件 -文件版本管理。 -元数据,高级搜索

我仍然在开源软件中寻找这样的解决方案,但没有找到

如果你只需要在两个作业之间共享工件,只需使用“复制另一个构建工件”插件。我使用它将我的作业分为一个构建作业和一个测试作业(实际上有3个测试作业,每次提交后一个非常快完成,每天一个非常慢完成,每个周末一个非常慢完成)