【问题标题】:Queuing in CruiseControlCruiseControl 中的排队
【发布时间】:2011-11-18 18:21:22
【问题描述】:

我正在使用 CruiseControl 来管理我的构建。但是,在对多个构建进行排队时,我遇到了一个小问题。排队一个额外的构建工作正常,但是当尝试排队多个额外的构建时,构建将失败。

有没有办法增加 CruiseControl 中的队列大小?

当开发人员想要在构建服务器上构建某些东西时,他们会通过 pythonscript 将一些信息发送到服务器上的另一个 pythonscript。此脚本使用必要的信息更新 config.xml,并使用 http://localhost:8000/invoke?operation=reloadConfigFile&objectname=CruiseControl+Manager%3Aid%3Dunique 强制更新配置。然后使用http://localhost:8000/invoke?operation=build&objectname=CruiseControl+Project%3Aname%3D%22"+productName 命令强制构建。

这是将项目添加到构建队列的正确方法吗?

从 CruiseControl 调用的构建脚本需要 ClearCase 的版本 ID,每次构建都必须更新它。因此,config.xml 中项目的配置也必须更改。

【问题讨论】:

    标签: cruisecontrol


    【解决方案1】:

    通常,您在 config.xml 中配置了所有项目(您大部分都保持不变)。

    正如您在 cmets 中所说,您必须为构建脚本更新某个 id。

    也许您应该为每个项目更新一个包含此 ID 的属性文件或类似文件。这个文件可以被python脚本编辑,这样就不再需要不断更新config.xml了。

    我假设 Cruisecontrol 的更新/重新启动会导致失败的行为。

    【讨论】:

      【解决方案2】:

      我发现了问题。当开发人员想要在服务器上构建某些东西时,顶级产品通过 ClearCase 加载到构建服务器。这个顶级产品又拥有自己的配置文件,其中说明了它的所有子产品。问题很简单,为每个项目重写第一个配置文件,使除第一个和最后一个之外的所有项目都被卸载。与 ClearCase 有更多的关系,而不是 CruiseControl:P

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        相关资源
        最近更新 更多