Yor*_*lov 7 c++ linux rpm release-management
我们公司需要的是一种Linux/C++版本管理工具.我们的产品包含多个库和配置文件.在这里,我将列出我们希望这样的系统具有的基本功能:
能够跟踪依赖关系,轻松增加依赖关系得到主要版本的库的主要版本.它应该在内部构建某种依赖图,以便知道谁受到更新的影响.
知道如何构建它所处理的产品.要么是特定的构建文件,要么更好 - 能够阅读和理解makefile.
使用SVN,以便从那里检查新版本并进行构建.
生成一些安装程序 - 以rpm或tar.gz格式.为此,它应该能够理解rpm spec文件格式.
目前我们正在研究这种已经很有用的工具.但是我相信我们的任务并不是独一无二的,应该有一些工具可以完成这项工作.
在我目前正在进行的项目中,我们使用 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。