0

我已经定义了一个 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。

任何人都可以帮忙吗?谢谢。

4

1 回答 1

0

从您的问题中,我了解到您希望在第一个项目被触发后构建项目,是吗?在这种情况下,您需要为每个在其依赖项被触发时立即触发的项目包含一个项目触发器。

于 2013-08-13T10:22:08.813 回答