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

时间:2008-09-19 04:06:43

标签: deployment build-automation

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

您推荐哪些工具?

20 个答案:

答案 0 :(得分:9)

Hudson用于自动构建。我选择它是因为它是最容易设置和演示的。一个过于复杂且不光滑的系统不会给管理层留下足够的印象,无法让它们进入自动化构建。特别是在一个有很多惯性的项目中。

答案 1 :(得分:5)

我们使用JetBrains的TeamCity。他们还制作了Resharper和IntelliJ。

我们使用它来构建我们的.Net应用程序,它很容易设置,连接到TFS,并运行其他工具。它很精致,实际上有点让我想起这个网站。发现它比CruiseControl好得多,而且我们的团队规模是免费的。如果您需要许多不同的构建,更多的每用户构建,等等,那么它会花费一些(但仍然非常合理)。

答案 2 :(得分:5)

用于构建的NAnt(但MSBuild,Rake,几乎任何东西都可以)和CruiseControl.NET用于部署。我目前正在使用ThoughtWorks工作室的新Cruise,因为它提供了一种更好的方式来演示各种管道,让我将我想要的任何版本部署到目标环境。

答案 3 :(得分:4)

有趣的是,我只花了两周的时间(我从头开始阅读)我们的夜间构建过程。非常有趣(不,真的)。我玩弄了安装Team Foundation Server的想法,但是我们使用Perforce进行源代码控制,我觉得这不值得麻烦。

我们的流程现在是一组Powershell脚本,它们在专用的构建/测试服务器上运行,在计划任务上执行以下操作:

擦除整个源树(检查您是否先检查过任何内容!)

从Perforce(从最后一个标记的构建版本)中删除整个源代码树

生成更改报告(通过同步到HEAD并观察下来的内容)

构建应用

将PDB文件索引到Perforce源

将二进制文件和符号存储在专用符号服务器中

运行测试项目

构建安装程序

标签

向群组发送电子邮件,其中包含以上所有

的状态报告

运作良好。

答案 4 :(得分:4)

我们使用构建工具和持续集成服务器的组合:

构建工具:

  1. Maven
  2. SBT
  3. Gradle
  4. Rake
  5. 持续集成服务器:

    1. Jenkins
    2. Hudson
    3. Travis CI

答案 5 :(得分:4)

答案 6 :(得分:4)

Linux上的

makebash

Windows上的

makecmd

答案 7 :(得分:3)

Automated Build Studio

它不是让您使用脚本或xml文件,而是提供预定义的图形宏操作,使您可以轻松创建任务。

答案 8 :(得分:3)

对于我们可编辑Windows的内容,我们使用FinalBuilder

答案 9 :(得分:2)

对于自动构建,我认为目前最好的工具是JetBrain的Team City。免费版具有大多数5-10人团队所需的所有功能。设置很简单,配置新项目是无痛的(相对),最重要的是,它是可靠的。

对于自动迁移,没有什么能胜过PowerShell。

答案 10 :(得分:2)

CruiseControl用于自动构建。效果很好。

答案 11 :(得分:2)

UppercuT使用NAnt构建,它是一个非常容易使用的Build Framework。

自动构建与(1)解决方案名称,(2)源控制路径,(3)大多数项目的公司名称一样简单!

http://code.google.com/p/uppercut/

这里有一些很好的解释:UppercuT

更多信息


UppercuT是一种传统的自动构建,这意味着您可以设置配置文件,然后免费获得一系列功能。可以说,最强大的功能是能够在一个地方指定环境设置并在任何地方应用它们,包括构建源代码时的文档。

可用文档:https://github.com/chucknorris/uppercut/wiki

特点:

答案 12 :(得分:1)

我们曾经使用过来自Kinook软件的Visual Build,但最近我们的新应用程序改为MSBuild,因为它可以更好地与TFS集成以及创建自定义任务的能力。

答案 13 :(得分:1)

GNU Autotools肯定。 autoconfautomake是unix系统的事实标准。

答案 14 :(得分:1)

在工作中,我们使用好的'Ant来构建我们的Java servlet。

答案 15 :(得分:1)

我使用buildbot成功,由subversion存储库上的提交后脚本触发。这已用于自动构建和自动化测试。

答案 16 :(得分:0)

ANT用于构建和部署/安装。

制作出色的跨平台安装程序。

答案 17 :(得分:0)

我们使用Hericus Zed Builds And Bugs Management进行自动构建。

我们有4个代码分支,每个分支都有java,c ++,C#,跨平台编译和5个操作系统的安装程序。

答案 18 :(得分:0)

为构建做准备。 用于部署的Debian软件包(因为我们的生产服务器运行它)。

答案 19 :(得分:0)

TeamCity运行用于构建/打包的NAnt脚本和用于部署的PowerShell。

我发现使用由TeamCity提供支持的NAnt而不是原生的TeamCity运行程序允许我们拥有更丰富的构建过程(例如,css minimiser等)。这也意味着完整的构建/打包过程可以在任何开发人员PC上运行,而不仅仅是TeamCity服务器,这使得在构建过程中更容易定制和调试问题。