【发布时间】:2010-02-01 23:36:49
【问题描述】:
我有一个应用程序和共享库,其中包含单独的 CC 构建触发器(成功的库构建也将触发应用程序的构建),并设置了一个队列以确保 CC 不会尝试构建应用程序,直到图书馆完成了。
今天早上发生了一件奇怪的事情。我正在使用速度较慢的 VPN,并对我的应用程序和共享库进行了一系列更改(这一切都是作为一次提交完成的)。 CC 首先构建了我的应用程序,但失败了,因为它在共享库中找不到两个新类。在此之后共享库构建成功,随后我的应用构建成功。
看起来 CC 在我的应用程序的更改下载到构建服务器之后,但在库的更改到达之前尝试构建。这可能吗,还是我需要在其他地方寻找原因?
这是我在应用程序的构建日志中得到的错误:
<error code="CS0246" file="SomeClass.cs" line="###" column="###"><![CDATA[The type or namespace name 'ClassAddedToSharedLibraryInThisCommit' could not be found (are you missing a using directive or an assembly reference?)]]></error>
我的 CCnet.config 文件摘录如下:
<project name="App1" queue="hourly" queuePriority="2">
<triggers>
<multiTrigger operator="Or">
<triggers>
<projectTrigger project="sharedLib">
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="30" buildCondition="ForceBuild"/>
</projectTrigger>
<filterTrigger startTime="16:00" endTime="7:00">
<trigger type="intervalTrigger" seconds ="625" />
</filterTrigger>
</triggers>
</multiTrigger>
</triggers>
<sourcecontrol type="svn">
<tagOnSuccess>false</tagOnSuccess>
<tagBaseUrl>https://servername/...</tagBaseUrl>
<autoGetSource>true</autoGetSource>
<executable>c:\program files\subversion\bin\svn.exe</executable>
<trunkUrl>https://servername/.../App1/...</trunkUrl>
<workingDirectory>C:\svn\...\App1\...</workingDirectory>
</sourcecontrol>
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe</executable>
<workingDirectory>C:\svn\...\App1\...</workingDirectory>
<projectFile>App1.sln</projectFile>
<buildArgs>/p:Configuration=Debug /v:m /m</buildArgs>
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
<timeout>1000000</timeout>
</msbuild>
</tasks>
</project>
<project name="sharedLib" queue="hourly" queuePriority="1">
<triggers>
<filterTrigger startTime="16:00" endTime="7:00">
<trigger type="intervalTrigger" seconds ="350" />
</filterTrigger>
</triggers>
<sourcecontrol type="svn">
<tagOnSuccess>false</tagOnSuccess>
<tagBaseUrl>https://servername/...</tagBaseUrl>
<autoGetSource>true</autoGetSource>
<executable>c:\program files\subversion\bin\svn.exe</executable>
<trunkUrl>https://https://servername/.../SharedLib/...</trunkUrl>
<workingDirectory>C:\svn\...\sharedLib\...</workingDirectory>
</sourcecontrol>
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe</executable>
<workingDirectory>C:\svn\...\sharedLib\...</workingDirectory>
<projectFile>sharedLib.csproj</projectFile>
<buildArgs>/p:Configuration=Debug /v:m /m</buildArgs>
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
<timeout>1000000</timeout>
</msbuild>
</tasks>
</project>
【问题讨论】:
标签: svn cruisecontrol.net