【问题标题】:How do I set up a build server on the cheap/free?如何以便宜/免费的方式设置构建服务器?
【发布时间】:2010-09-22 08:56:14
【问题描述】:

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

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

  1. 获取最新版本的源代码
  2. 获取最新版本的数据库发布脚本
  3. 将旧网站文件备份到目录
  4. 将新代码发布到我的本地机器
  5. 在我的服务器上运行以保持测试/暂存站点正常运行
  6. 将新创建的文件推送到网站
  7. 在测试数据库上运行 SQL 脚本(假设更新,否则我不打扰)
  8. 测试服务器上的测试网站。

看到自动化构建的想法让我很感兴趣,因为这意味着我每天早上做的事情更少。你会建议我如何进行?在我把它介绍给我的老板之前,我想有一个完整的想法。

【问题讨论】:

  • 我遇到的一个问题是关于#8。我的用户要求在日常站点中进行每日构建,以便他们可以比较前几天的构建与今天的构建。我无法免费实现这一目标。由于我们拥有唯一的域名,我们结束了注册 XXX-29th.com 等唯一域名,并使用我们的内部 DNS 服务器为该站点提供服务。然后挑战是暴露这个外部世界,我们通过 Route 53 解决了它

标签: automation build-automation build-server


【解决方案1】:

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


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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      对于自动化测试,我们使用 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/

      【讨论】:

        【解决方案4】:

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

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


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

        【讨论】:

        • 我不知道 CC.NET 可以做到这一点。好的。添加了有关配置 CC 以使用 VSS 的文档的链接。
        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          我第二(或第三)推荐 Subversion/CruiseControl.net。此外,如果合适,请查看 SVN 的托管服务,例如 CVSDude。在此过程中,您可能也会精通 MSBuild。设置好之后就很棒了。

          成本不一定来自工具甚至硬件的许可,而是来自您构建和维护系统的时间 - 并且取决于您所做的事情,这可能会变得很重要。

          从基础开始,随着时间的推移逐步改进。与其他任何事情一样,如果您尝试使用大量自动化和功能走出大门,您可能会发现自己陷入了数周的全职困境。

          【讨论】:

            【解决方案7】:

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

            当设备不可避免地出现故障时,您可以将映像复制到任何机器上而不会错过任何一个节拍,因为您的构建服务器决定休息一天,当然前提是您备份。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2010-09-09
              • 1970-01-01
              • 1970-01-01
              • 2017-11-25
              • 2012-11-02
              • 2011-10-20
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多