如何以便宜/免费的方式设置构建服务器?

时间:2008-11-14 15:40:50

标签: automation build-automation build-server

目前我的任务是进行日常构建。我们有一个带有SQL Server 2005后端的ASP.NET 2005网站。我们目前的源代码控制是Visual Source Safe 2005。

此时,我使用每日构建的强力方法。

  1. 获取最新版本的源代码
  2. 获取最新版本的数据库发布脚本
  3. 将旧网站文件备份到目录
  4. 将新代码发布到我的本地计算机
  5. 在我的服务器上运行以保持测试/舞台网站正常运行
  6. 将新创建的文件推送到网站
  7. 在测试数据库上运行SQL脚本(假设更新,否则我不打扰)
  8. 在测试服务器上测试网站。
  9. 看看自动构建的想法引起了我的兴趣,因为这意味着我每天早上做得更少。你会怎么推荐我继续?在我把它呈现给老板之前,我想要一个完全充实的想法。

7 个答案:

答案 0 :(得分:5)

Ditch VSS, move to Subversion, and check out CruiseControl.NET.或者,如果您拥有MSDN开发人员许可证,则可以在任何旧的XP机器上运行TFS工作组版本并设置构建服务器。这是我们在我们的商店做的。


正如Assaf所说,你可以直接使用CC.NET和VSS。好的。

答案 1 :(得分:4)

TeamCity对我来说效果很好。它有一个非常简单的设置。将它与用于操作的MsBuild脚本相结合,你就是自动化的。

答案 2 :(得分:4)

对于构建管理,我全心全意地推荐TeamCity。它不需要IIS6(就像CC.net一样),因为它运行在它自己的Tomcat副本上,并且设置都是通过各种形式完成的。这对我来说很重要,因为构建服务器只是一个XPPro盒子。它与SVN很好地集成,并且没有疯狂的XML文件操作,就像我与CruiseControl.Net一样。对我来说是一场胜利。

对于构建运行器,我们使用NAnt向各种人发送电子邮件,将打包的构建复制到他们应该去的地方,运行NUnit和NCover,然后将软件部署到我们的Web场。

对于自动化测试,我们使用Watin。

http://www.nunit.org/index.php http://www.jetbrains.com/teamcity http://ncover.sourceforge.net/ http://subversion.tigris.org/ http://nant.sourceforge.net/ http://watin.sourceforge.net/

答案 3 :(得分:3)

试试CruiseControl.Net。它是免费的,无论您希望它执行什么样的日常/连续例程,您都可以随时添加脚本。

请记住,它不仅仅是关于每日(每晚)的构建,还包括让您及时捕获构建错误(因为它在每次源提交/签入后不断构建)。您不一定在每个可能的平台上测试每个代码机会并构建配置,但CC可以为您完成(在后台)。


http://confluence.public.thoughtworks.org/display/CCNET/Visual+Source+Safe+Source+Control+Block

答案 4 :(得分:2)

您正在执行的所有操作都可以通过一组批处理文件执行,具体取决于您的测试环境的自动化程度。主批处理文件可以在午夜或其他任何时候作为“计划任务”启动。这就是我们在这里和其他地方“便宜”的方式。如果您需要特定批次的帮助,我可以提供样品。

答案 5 :(得分:1)

我是Subversion / CruiseControl.net的第二个(或第三个)推荐。此外,如果合适,请查看SVSD的托管服务,如CVSDude。你也可能在这个过程中精通MSBuild。一旦你完成设置就很棒了。

成本并非来自工具甚至硬件的许可,而是来自您构建和维护系统的时间 - 并且取决于您正在做什么,这可能会变得非常重要。

从基础开始,逐步改进。和其他任何东西一样,如果你试图通过大量的自动化和功能走出大门,你会发现自己陷入了几个星期的全职陷阱。

答案 6 :(得分:1)

无论使用哪种工具,都将它们放在虚拟机中(即vmware)。

当设备不可避免地向南移动时,您可以将图像复制到任何机器上而不会错过任何一个节拍,因为您的构建服务器决定休假,当然,假设您备份。