我使用CruiseControl来管理我的构建。但是,在对多个构建进行排队时,我遇到了一个小问题。将一个额外的构建排队可以很好地工作,但当尝试将多个额外的构建排队时,构建将失败。
有没有办法增加CruiseControl中的队列大小?
当开发人员想要在buildserver上构建一些东西时,他们通过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,每次构建都必须更新该版本id。因此,config.xml中项目的配置也必须更改。
发布于 2011-11-18 18:21:23
我找到问题了。当开发人员想要在服务器上构建一些东西时,通过ClearCase将顶级产品加载到构建服务器。这个顶级产品又有它自己的配置文件,其中说明了它的所有子产品。问题很简单,为每个项目重写第一个配置文件,使得除第一个和最后一个项目外的所有项目都被卸载。实际上,比起CruiseControl,更多的是与ClearCase有关:P
发布于 2011-11-17 18:42:12
通常,您已经在config.xml中配置了所有项目(您几乎保持不变)。
正如您在注释中所述,您必须为构建脚本更新特定的id。
也许您应该为每个项目更新一个包含此id的属性文件或类似的内容。这个文件可以通过python脚本进行编辑,这样就不再需要不断更新config.xml了。
我假设cruisecontrol的更新/重启导致了失败的行为。
https://stackoverflow.com/questions/8164456
复制相似问题