繁体   English   中英

适用于Linux的发布管理系统

[英]Release management system for Linux

我们公司需要的是一种Linux / C ++版本管理工具。 我们的产品包含多个库和配置文件。 在这里,我将列出我们希望这样的系统具有的基本功能:

  • 能够跟踪依赖关系,轻松增加依赖关系得到主要版本的库的主要版本。 它应该在内部构建某种依赖图,以便知道谁受到更新的影响。

  • 知道如何构建它所处理的产品。 要么是特定的构建文件,要么更好 - 能够阅读和理解makefile。

  • 使用SVN,以便从那里检查新版本并进行构建。

  • 生成一些安装程序 - 以rpm或tar.gz格式。 为此,它应该能够理解rpm spec文件格式。

目前我们正在研究这种已经很有用的工具。 但是我相信我们的任务并不是独一无二的,应该有一些工具可以完成这项工作。

您应该考虑使用Hudson,Maven(用于构建管理),Ivy(用于依赖管理)和Archiva(用于工件存档)之间的混合。

另外,如果您正在研究cross.compilation,请查看Make Project Creator(MPC)和Bakefile。

玩得开心!!

看看DDJ中的这篇文章,其中介绍并实现了一个更强大的构建系统概念(比make)。 不确定它是否符合您的要求,但它是我见过的最接近的。 几个月前我一直在寻找同样的东西,然后我发现了这篇文章。

http://www.drdobbs.com/architect/218400678

在我正在开发的项目中,我们使用cmake和其他Kitware工具来处理本机代码(C ++)的大部分问题。 逐点回答:

  • cmake脚本处理我们不同项目的依赖项。 我们有一个依赖图,但我不知道它是否是一个自制脚本,或者它是cmake提供的功能。

  • 好的cmake生成关于平台的makefile。 如果在开发的情况下被要求这样做,我会为eclipse cdt和visual studio生成项目。

  • Cmake有几个工具,ctest和cdash,我们用它来进行日常构建,看看测试是如何进行的。

  • 为了创建安装程序,cmake有cpack。 从一个脚本,它可以在Linux中生成tar.gz,deb或rpm文件或自动生成的NSIS脚本,以在Windows中生成安装程序。

对于Java代码,我们使用已在此处提到的maven和hudson。

Maven有一个本机代码插件 我不认为它会做你想要的一切,但它擅长跟踪依赖项的版本号,将构建文物,它将适用于你的VCS。

  • 不知道
  • cmake / scons:我使用过cmake,但我并不喜欢它,但我听说scons真的很棒。 但是scons是基于python的,所以你需要在build / dev机器上安装python。
  • 我使用Hudson ,它有一个从svn获取的插件。 它通常是智能执行的,特别是只有在svn更新中某些文件发生更改时才构建。 哈德森很容易上手。 Hudson是基于Java的,并且非常受Java社区的欢迎。 这意味着它非常跨平台,但您需要在构建计算机上安装JRE。
  • 可能可以在hudson中调用一些rpm工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM