你使用哪些工具进行自动化构建/自动化部署?为什么?

11

你使用什么自动化构建/部署工具?为什么?

你推荐使用哪些工具?


这取决于编程语言和平台,我想说... - Thomas
我只能在某种程度上同意。只要你的构建工具确实可以构建该语言。 部署脚本与语言无关,但与代码要部署的位置有关(Linux、Windows等)。 - ferventcoder
20个回答

9

Hudson用于自动化构建。我选择它是因为它是最容易设置和演示的。一个过于复杂且外观不够流畅的系统将无法给管理层留下足够的印象,以便让他们支持自动化构建。尤其是在一个具有很大惯性的项目中。


我们这里也在使用Hudson。它非常好用,并且有一些插件可以分析我们构建生成的数据(例如测试报告、覆盖率工具和其他代码分析)。 - marcospereira

5

对于构建,我会使用NAnt(但也可以使用MSBuild、Rake或者其他任何工具),对于部署,我会使用CruiseControl.NET。目前,我正在使用ThoughtWorks Studios推出的新版Cruise,因为它提供了更好的管道分阶段组织方式,并且让我能够将任意版本部署到目标环境。


我一直很兴奋地期待着见到Cruise! - ferventcoder

5
我们使用 JetBrains 的 TeamCity。他们还制作了 Resharper 和 IntelliJ。
我们用它来构建我们的 .Net 应用程序,并且设置、连接到 TFS 并运行其他工具非常容易。它非常精致,实际上有点让我想起这个网站。相比于 CruiseControl,我们发现它更好用,并且对于我们的团队规模来说是免费的。如果您需要大量不同的构建、更多的每用户构建等,则需要支付一些费用(但仍然相当合理)。

新版本看起来更漂亮,但在界面方面有点复杂。您可以在TeamCity网站上查看它...免费版本现在允许20个不同的构建配置,这是一个进步。 - Andrew

4
有趣的是,我刚刚花了两周时间进行了夜间构建流程的全面改进(从头开始实现)。非常有趣(不,真的)。我曾考虑安装Team Foundation Server,但我们使用Perforce来进行源代码控制,我觉得这并不值得麻烦。
现在我们的流程是一组PowerShell脚本,在专用的构建/测试服务器上按计划任务运行,执行以下操作:
1. 删除整个源代码树(首先检查您是否有任何检出的文件!)。
2. 从Perforce下载整个源代码树(从上次标记的构建开始)。
3. 生成更改报告(通过同步到HEAD并观察下载内容)。
4. 构建应用程序。
5. 将PDB文件索引到Perforce源中。
6. 将二进制文件和符号存储在专用符号服务器中。
7. 运行测试项目。
8. 构建安装程序。
9. 标记。
10. 向组发送包含所有上述状态报告的电子邮件。
这个流程很有效。

4

在Linux上使用MakeBash

在Windows上使用MakeCMD



4

3

对于我们可以在Windows上编译的内容,我们使用FinalBuilder


3

自动化构建工作室

它不会让你去搞那些脚本或 XML 文件,而是提供了预定义的图形化宏操作,让你轻松创建任务。


但是我们这里都是程序员。 - xanadont
2
我们是程序员,因此我们很懒,只使用最直观的工具来完成工作。如果这意味着没有脚本、没有代码,那就这样吧。 - Graviton
我们是程序员,所以我们很懒,只使用最好的工具以最小的努力完成工作。直观并不一定是关键 - 效率和成本/结果权衡才是。 VI比记事本好得多,比make好得多,Java比Visual Basic更好,尽管后者在这三种情况下更直观。一切取决于你需要完成什么工作。 - Calimar41

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接