gpt4 book ai didi

C++ 构建工件管理

转载 作者:太空狗 更新时间:2023-10-29 23:18:25 27 4
gpt4 key购买 nike

我们正在将我们的构建和测试系统转移到 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 接口(interface))来上传、下载、管理工件。

如果您不使用工件管理器,而是使用其他一些聪明的方法来管理您的 C++ 工件以满足发布/测试需求,我也很乐意听到。

最佳答案

我有完全相同的问题。没有成功集成artifactory,所以忘记了。

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

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

在我之前的工作中,我使用的是提供良好服务的文档 CMS (LiveLink):- 自组织文件夹。- 持久性 url(我们可以移动、重命名文件夹和文件,给定文件的公共(public) URL 永远不会改变,这太棒了:“http://server/go/123456789123456789”总是指向同一个文件。所以你刚刚有了将此 URL 提供给 wget,您将获得该文件- 文件版本控制。- 元数据,高级搜索

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

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

关于C++ 构建工件管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13862033/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com