您使用什么开发和构建生命周期工具?

时间:2009-03-01 06:16:04

标签: build-process build-automation

我正在努力将目前约20名开发人员的项目转换为现代开发和构建环境。我们目前使用基于RCS的源控制系统和相关的问题跟踪系统,两者都使用Motif UI。没有正式的生产构建过程,只要它起作用。

我对以下内容感兴趣:

  • 开发工具
  • 版本控制
  • 问题跟踪
  • 依赖管理
  • 配置管理
  • 自动构建
  • 自动化测试
  • 持续集成
  • 工件管理
  • 发布管理
  • 部署管理
  • 需求跟踪
  • 还有什么?

我不仅对您使用的工具感兴趣,而且对它们之间的集成程度,设置和使用的容易程度以及开发人员和管理人员如何喜欢它们感兴趣。我们的项目是Java,C ++和VHDL的组合,但我仍然希望听到其他语言的人。我现在正走在日食,颠覆,trac,maven,hudson和nexus的道路上。

此外,还有一个比“构建生命周期”更好的术语,它不仅包括构建,还包括从开发人员创建代码到构建,测试和生产系统的代码流程? “构建生命周期”似乎有限,但已经采用“项目生命周期”。

8 个答案:

答案 0 :(得分:4)

我讨厌Maven比讨厌Ant,而对于Java,你需要选择其中一个邪恶。如果您刚刚开始,请选择Maven,特别是因为您已经认识到您的“构建生命周期”包含12个不同且复杂的学科!你将不得不为所有这些选择约定。省去麻烦,继续Maven已经建立的约定。

对于持续集成和一般构建自动化,我喜欢Hudson。

答案 1 :(得分:3)

在过去两年中,我们逐渐从“每个项目拥有自己的工具集”策略转变为Trac + SVN + SCons解决方案,并对此非常满意。

切换到SCons是一项工作,但真的得到了回报。我们有一个异构环境,主要是针对不同嵌入式平台的C / C ++,内核模块,一些桌面应用程序和各种Python模块作为粘合代码。当您想要为自己的编译器和小众工具添加支持并且需要根据您的要求调整构建系统时,SCons真的很棒。以前,我们必须为几乎所有嵌入式平台使用不同的GUI - 现在SCons直接调用编译器,工作周期略有改进。

我们的开发人员要么使用Emacs,要么没有人想要切换到其他任何东西,所以我们(幸运的是)坚持这一点。我对部署不是很熟悉所以我不能谈论它。

答案 2 :(得分:3)

如果您使用.NET,则很难击败Team Foundation Server与Visual Studio的集成。它包含开发工具,版本控制,问题跟踪,配置管理,自动化测试,单元测试,自动构建,工件管理以及您描述的所有其他内容。

当然,与我使用的其他工具相比,TFS价格昂贵,通常不直观,缺少某些功能。如果您拥有MSDN许可证,则可以免费使用TFS for Workgroups(最多5个用户IIRC)。

答案 3 :(得分:2)

  • 开发工具 JetBrains IntelliJ IDEA
  • 版本控制 Subversion
  • 问题跟踪 Atlassian Jira
  • 依赖关系管理 Maven
  • 配置管理 TeamCity
  • 自动构建 TeamCity
  • 自动化测试 JUnit(?)
  • 持续集成 TeamCity
  • 工件管理 Maven
  • 发布管理 Homo Sapien
  • 部署管理 Maven / Homo Sapien
  • 要求追踪一厢情愿
  • 一次性自动化 Bash
  • 开发人员与开发人员文档 MediaWiki

答案 4 :(得分:1)

我们是使用VS2008的MS商店。我们使用Subversion with Tortoise进行SCC和版本控制,我们的存储库在线托管,因此我们的分布式团队可以使用它。对于构建,我们使用Hudson和CI,比Nant或MSBuild好得多。问题跟踪是Bugzilla。自动化测试是NUnit

要避免的工具包括Team Foundation Server和Sharepoint,对于实际使用情况来说过于笨拙。

BTW有没有人知道一个好的Scrum工具,它可以产生烧毁图表,最好连接到Basecamp?

答案 5 :(得分:0)

我们也使用了许多工具,但我们越来越多地转向Zed Builds&错误。我们的主要开发环境是Eclipse + Java,但我们也做Visual Studio(所有的'),以及至少5个不同的unix平台构建。

以下是完整列表:

答案 6 :(得分:0)

我在我的项目中使用svn和tac,在其他项目中使用svn和fogbugz。它们很好地融为一体。

我仍在使用命令行脚本进行构建,因为它们可以完成我需要的一切 - 包括为错误和电子邮件发送结果,但是设置的日期已经过编号。我正在研究跨平台构建工具。

我使用Inno获取win32版本。还没有针对其他平台的运输产品 - 不确定我们将如何部署这些产品。

除了一些辅助文档以及代码和问题跟踪之外,我们不会提及您提及的许多其他项目。

答案 7 :(得分:0)

Team Foundation Server和Visual Studio。

我记得我的ide是Sun的visual C调试器,源代码控制是将所有源文件复制到新的命名目录并将其放在应该备份的服务器上。

只有它不是