【问题标题】:Implement balanced cruise control build from config over multiple VMs通过多个虚拟机的配置实现平衡巡航控制构建
【发布时间】:2014-07-16 04:20:46
【问题描述】:

我最近对大约 20 个 Cruise Control .config 和 Nant .build 文件进行了大规模重构。其目的是将所有 VM 构建机器整合到一个单一的机器中。

我最终得到了一个 .config 和 .build 文件,每个应用程序有 20 个附属文件,其中包含每个项目的数据。这似乎工作得很好。但是,不可避免地,性能已成为一个问题。

最明显的做法是将巡航控制 .config 文件拆分为仅包含要在该机器上构建的项目子集的块。然而,这似乎有点令人沮丧,为了合并它们而费尽心思。

我希望能够随意克隆我的构建 VM,并能够“关闭”我不想在该机器上构建的项目。是否可以在每次克隆构建 VM 时都不必重写 .config 文件来完成此操作?或者更好的是,这可以以某种方式自动化吗?

我正在使用 Cruise Control 1.44 和 Nant 0.85。

【问题讨论】:

    标签: cruisecontrol.net nant


    【解决方案1】:

    是的,您可以这样做。您可能有兴趣将每个项目的 initialState 设置为 Stopped,然后有选择地在相关服务器上启动每个项目。

    http://cruisecontrolnet.org/projects/ccnet/wiki/Project_Configuration_Block

    构建标签是否与您相关,如果是,您可能需要考虑以某种方式集中它们的生成。

    【讨论】:

    • 我没有意识到您甚至可以在 Cruise Control 上启动/停止项目。我有很多要学习的。有没有办法自动停止/启动项目?通过网络服务?
    • 我解决了:启动项目的网络请求是http://localhost/ccnet/server/local/project/$projectName/ViewProjectReport.aspx?StartBuild=Start。我只是使用了一个 powershell 脚本来启动 Cruise Control,然后实例化 WebClient 并调用它的 OpenRead() 方法来启动每个单独的项目。
    • CruiseControl 会记住服务器启动时项目的状态。因此,一旦配置了项目的传播,您就不需要运行您的 powershell 脚本
    • 我相信startupMode默认设置为UseLastState
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多