Automation 如何在廉价/免费的服务器上设置构建服务器?

Automation 如何在廉价/免费的服务器上设置构建服务器?,automation,build-automation,build-server,Automation,Build Automation,Build Server,目前我的任务是做每日构建。我们有一个带有SQLServer2005后端的ASP.NET2005网站。我们当前的源代码管理是Visual source Safe 2005 此时,我使用日常构建的蛮力方法 获取最新版本的源代码 获取数据库发布脚本的最新版本 将旧网站文件备份到目录 将新代码发布到我的本地计算机 在我的服务器上运行以保持测试/阶段站点工作 将新创建的文件推送到网站 在测试数据库上运行SQL脚本(假设有更新,否则我就不麻烦了) 测试服务器上的测试网站 看着自动化构建的想法,我很感兴趣,因

目前我的任务是做每日构建。我们有一个带有SQLServer2005后端的ASP.NET2005网站。我们当前的源代码管理是Visual source Safe 2005

此时,我使用日常构建的蛮力方法

  • 获取最新版本的源代码
  • 获取数据库发布脚本的最新版本
  • 将旧网站文件备份到目录
  • 将新代码发布到我的本地计算机
  • 在我的服务器上运行以保持测试/阶段站点工作
  • 将新创建的文件推送到网站
  • 在测试数据库上运行SQL脚本(假设有更新,否则我就不麻烦了)
  • 测试服务器上的测试网站

  • 看着自动化构建的想法,我很感兴趣,因为这意味着我每天早上做的更少。你建议我如何继续?在我向我的老板介绍之前,我想有一个完全充实的想法。

    根据测试环境的自动化程度,您正在做的所有工作都可以通过一组批处理文件来执行。主批处理文件可以在午夜或其他时间作为“计划任务”启动。这就是我们在这里和其他我工作过的地方“廉价”的方式。如果您需要特定批次的帮助,我可以提供样品

    或者,如果您拥有MSDN开发者许可证,您可以运行TFS workgroup edition并在任何旧的XP设备上设置生成服务器。这是我们在店里做的事



    正如Assaf所指出的,您可以直接将CC.NET与VSS一起使用。不错。

    试试CruiseControl.Net。它是免费的,无论您希望它执行什么定制的每日/连续例行程序,您都可以使用脚本添加

    请记住,这不仅仅是关于每日(夜间)构建,还包括让您及时捕获构建错误(因为它在每次源提交/签入后都会持续构建)。您不必在每个可能的平台和构建配置上测试每一个代码机会,但CC可以为您(在后台)准确地做到这一点


    对我来说效果很好。它有一个非常简单的设置。将它与用于您的操作的MsBuild脚本结合使用,您就可以自动完成操作。

    I第二(或第三)次Subversion/CruiseControl.net的reccomendation。另外,如果合适的话,可以查看SVN的托管服务,比如CVSDude。在此过程中,您可能也会非常熟悉MSBuild。一旦你把它安装好,它就很棒了

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


    从基础开始,逐步改进。像其他任何事情一样,如果你试图带着大量的自动化和功能走出大门,你可能会发现自己陷入了长达数周的全职it中。

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

    对于构建运行程序,我们使用NAnt向不同的人发送电子邮件,将打包的构建复制到他们应该去的地方,运行NUnit和NCover,并将软件部署到我们的web服务器场

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


    无论您使用什么工具,都要将它们放在虚拟机(即vmware)中


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

    我不知道CC.NET可以做到这一点。美好的添加了有关配置CC以使用VSS的文档链接。我遇到的一个问题是关于#8。我的用户要求在每日网站上进行每日构建,以便他们可以比较前几天的构建和今天的构建。我不能免费做到这一点。由于我们有唯一的域名,我们结束了注册像XXX-29th.com这样的唯一域名,并使用我们的内部DNS服务器为该站点提供服务。然后挑战是暴露这个外部世界,我们通过53号公路解决了这个问题