4
|
Daniel A. White · 技术社区 · 14 年前 |
1
2
到目前为止,我找到的唯一方法是在ccnet.config文件中创建另一个依赖于第一个的输出的项目…这就是我的意思。 每当开发人员签入任何代码时,第一个项目都会正常构建。 第二个项目仅在指定的时间(如11pm)后运行,并且仅在第一个项目显示成功的生成时运行。 因此,我使用第二个项目在半夜在Selenium中进行UI测试,而不在白天运行它们,并且在开发人员需要时占用构建机器。 以下是我所做的:在ccnet.config文件中,我的第二个项目的设置如下:
此外,我的源代码管理部分还有:
… … 这样,项目就不会删除代码,而是使用已经存在的代码。 然后在我的任务下一步,我将一个标志传递给nant,告诉它只为我的项目运行UI测试,因为ccnet.config文件中的第一个项目已经运行了构建过程,但是忽略了UI测试。 这有帮助吗?如果这是你想要进入的方向,我可以进一步扩展。 |
2
0
对于您的重复ccnet项目问题,我没有解决方案。但我会告诉你我们是如何使用ccnet的(我们对此非常满意)。 我们在构建服务器上有20个项目,以及以前版本的几个发布分支。我们只使用cctray应用程序根据需要启动构建。因此,在开发人员完成一个特性的实现之后,他单击“force build”按钮,ccnet开始做它的事情(build、test、tag、copy build output to a network drive、notify other devs…)。 优点是开发人员可以决定何时开始构建。未更改的项目不会生成。只有当开发人员认为他需要一个构建时,才可以在以后构建具有正在进行的工作的项目。 开始夜间构建的一个想法是使用ccnet的远程处理接口(cctray也使用该接口),将其连接到ccnet实例并在午夜调用force-build方法。 关于“将二进制文件提交到同一个标记”: ccnet中存在一个问题,导致它有时从主干标记修订,有时标记工作副本。这取决于自上次生成以来是否有更改(在这种情况下,它从主干标记修订),或者自上次生成以来是否没有更改(在这种情况下,它标记工作副本)。 这非常烦人,因为您永远不知道将提交什么——在第一种情况下,您的二进制文件不会提交,在第二种情况下,它们会提交。 实际上,我们自己已经修补了ccnet,以使它始终提交工作副本,从而获得确定性行为。我曾经提交过补丁,但它从来没有在… |
Sandeep · Cruisecontrol.net中的条件参数 12 年前 |