我已经定义了一个CCNet队列,它包含在几个CI项目中(大约10个)。
队列填满,我可以在CCTray和仪表板中看到待处理的作业,这些作业是根据我定义的优先级正确排序的。但是,一旦第一个作业完成,队列就会被清空,所有“待处理”作业的仪表板活动将返回“休眠”。
项目之间没有触发器 - 我在任何项目中使用的唯一触发器是在源库更新时启动构建。
<queue name="myQ" duplicates="ApplyForceBuildsReplace" />
<cb:scope ProjectName="My project">
<project category="MyProjects" name="$(ProjectName)" queue="myQ" queuePriority="1" webURL="$(WebUrl)" workingDirectory="c:\my_project\work" artifactDirectory="c:\my_project\log" >
<triggers>
<intervalTrigger name="continuous integration" seconds="120" buildCondition="IfModificationExists"/>
</triggers>
<sourcecontrol type="filtered">
<sourceControlProvider type="vsts">
<server>$(TeamProjectCollectionUrl)</server>
<project>$/MyProject</project>
<workingDirectory>c:\my_project_work_tfs</workingDirectory>
<workspace>my_project_work_tfs</workspace>
<deleteWorkspace>false</deleteWorkspace>
</sourceControlProvider>
</sourcecontrol>
<tasks>
<exec>
[invokes NAnt...]
</exec>
</tasks>
</project>
</cb:scope>
我的三个项目的优先级为1,其他项目的优先级为2.
我正在使用CCNet 1.8.3.0。
有人可以帮忙吗?感谢。
答案 0 :(得分:0)
从你的问题我看到你希望项目在第一个项目被触发后构建,是吗?在这种情况下,您需要为每个项目包含一个项目触发器,一旦触发它的依赖项就会触发它。