2012-09-20 104 views
4

我在寻找关于如何管理二进制文件一起组成发行版本的工具和建议。管理二进制文件版本

该项目是这样的:

+ Package-Version 
|__ Component A-Version 
|__ Component B-Version 
|__ Component C-Version 

更多层面可能存在,使得组件本身是从他们自己的版本的子组件构建。

目前,我们使用Excel链接到二进制文件。 我希望通过引入一些可以更好地管理它的简单工具来改善这一点。 它应该包括一些基本知识,例如:搜索版本/子版本并查找它们在树中的位置,通过WEB访问使其易于访问,并且它具有一些接口,因此可以使用脚本加载新的二进制文件。 此外,每个项目都需要有一些相关信息,主要是版本说明。

请注意,这是一个嵌入式C/C++项目,如果它很重要。

回答

3

推荐用于二进制文件的常用工件存储库(与特定版本的代码关联管理)为Nexus
对于C++,您也可以考虑使用Nuget来管理这些相同的依赖关系。

在这两种情况下,这个想法是在源代码控制工具中存储一个文件(例如Nexus的pom.xml),它将指定您需要的二进制文件的确切版本(或者您构建并发布到该文物回购)

通过保持二进制的VCS(版本控制系统),你确保VCS没有得到太大(磁盘空间),你让IT制作团队(负责发布管理)访问与IT Dev团队不同的参考(将两个空间完全分开)。

+0

我们的Java开发人员使用Nexus从社区导入库和包。我不清楚Nexus是否可以用于保存本地创建的工件。我是否正确理解Nexus可用于将此类本地创建的组件存储在层次结构中?还是该层次结构的组件是通过XML文件进行管理的? – EdwardH

+0

@EdwardH是的,您的确了解它:您可以设置一个*本地* Nexus服务器,它将镜像公共Nexus服务器(用于下载部分),同时存储您正在制作的工件(用于上传部分)。你'pom.xml'可以声明/管理两个 – VonC

1

你能想到的,并尝试用水银Largefiles extension(预防“......考虑不得已的功能”应用)

一些大型文件不那么明显的细节覆盖

+0

这些工件并不是很大,所以如果我们只看大小的角度,那么使用VCS来管理它们是适用的。但是,我发现使用VCS执行此任务很困难,因为它对组织的所有成员(需要此版本信息)都不够透明。我更喜欢所有需要这些信息的人都会访问一个网页并进行搜索,VCS通常会需要一些客户端和搜索选项,或者在回购站点内进行筛选并不是微不足道的。 – EdwardH

+0

@EdwardH - 大文件扩展名**不存储库中的工件,请阅读Wiki –