首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有哪些工具可以帮助将各种软件元素收集到完整的软件版本中?

有哪些工具可以帮助将各种软件元素收集到完整的软件版本中?
EN

Stack Overflow用户
提问于 2011-12-02 15:09:25
回答 6查看 213关注 0票数 7

我们的软件产品由许多部分组成。假设它由内核驱动程序部分、用户dll和GUI软件组成。在开发过程中,我们在最新版本中编译和使用它们,但在发行版方面却不一样。

实际上,内核部分必须比其他部分更早地被冻结。然后,对dll进行冻结,以便进行广泛的测试,最后冻结的是GUI。随着QA的进步,我们需要用一个固定的GUI创建完整版本的更新版本,但仍然使用以前包含的内核驱动程序和dll。

我想知道是否存在一个工具,它可以管理每个软件部件的哪个版本来创建一个版本?

该工具可能会集成到工具链中,以构建所选软件的版本,并将其收集到Windows安装程序或Linux包中。

编辑:我们现在怎么样?

到目前为止,我们正在使用带有buildbot的SVN作为CI工具,用于Linux/gcc和Windows/VStudio。我们所处的模式是根据需要对整个存储库进行分支/标记。但是,随着越来越多相对独立的软件部分的出现,这对发布过程造成了伤害和痛苦。

我们正在考虑将存储库布局更改为有几个独立的分支/标记项目。这将更适合软件开发和发布周期。但这样的话,我们绝对需要这样的工具。

这个问题与不同的软件片段有关,每个软件都有自己的分支/标记版本,聚集在一个完整的软件版本中。

编辑:需要什么。

最后,我明白了我需要的是一个Windows包管理器。Linux上的RPM或DEB管理器意义上的包管理器。

有人知道Windows上有包管理器吗?

EN

回答 6

Stack Overflow用户

发布于 2011-12-02 16:03:19

要处理您的源,您肯定希望单独地分支您的组件。二进制文件通过包管理器处理。这方面的最佳实践将根据您的目标操作系统而有所不同。我的公司有嵌入式软件,所以我们用我们设计的自定义脚本来管理它。在Linux上,您希望生成.deb或.rpm包。下面是是Ubuntu的指南。我对Windows不是很熟悉,但是在我安装的软件中,InstallShield是一个很受欢迎的选择。

它们都应该有指定依赖关系版本范围的机制。您可以要求一个确切的版本、某个版本或更新版本,或者两个版本之间的任何内容。然后,您有一个“父”包,它没有二进制文件,但只指定组件包的版本。这将使您可以升级一个组件,同时保留其他组件的二进制文件。如果你想把它保存在一个包里,就没有理由不直接从源头上重建整个东西了。如果您的构建脚本是版本控制的,您的二进制文件将是相同的。

票数 2
EN

Stack Overflow用户

发布于 2011-12-02 15:24:34

我一直在使用的一个工具是maven,它展示各种生命周期的方式非常有趣。您不仅可以用于java项目,还可以使用.net,还有许多插件,以及好的存储库(我正在使用来自sonatype的插件)。

票数 0
EN

Stack Overflow用户

发布于 2011-12-02 15:29:30

我想你要找的词是软件配置管理。这里也有一个关于它的很大的文档:http://www.sei.cmu.edu/reports/87cm004.pdf

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8358757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档