【发布时间】:2011-05-13 04:15:44
【问题描述】:
我在配置 CC.Net 时遇到问题。我当前的项目设置如下所示(经过清理以消除机密内容):
<project name="WebApp">
<workingDirectory>c:\cc\WebApp\Code</workingDirectory>
<artifactDirectory>c:\cc\WebApp\Artifacts</artifactDirectory>
<webURL>http://example.com/ccnet</webURL>
<modificationDelaySeconds>10</modificationDelaySeconds>
<triggers>
<intervalTrigger seconds="30" name="continuous" />
</triggers>
<sourcecontrol type="multi">
<sourceControls autogetsource="true">
<svn>
<trunkUrl>svn+ssh://build@192.168.2.12/webapp/trunk</trunkUrl>
<executable>C:\Program Files\SlikSvn\bin\svn.exe</executable>
<username>build</username>
<password>********</password>
<revisionNumbers>true</revisionNumbers>
</svn>
<svn>
<trunkUrl>svn+ssh://build@192.168.2.12/dataservice/trunk</trunkUrl>
<executable>C:\Program Files\SlikSvn\bin\svn.exe</executable>
<username>build</username>
<password>********</password>
<revisionNumbers>true</revisionNumbers>
<workingDirectory>..\dataservice</workingDirectory>
</svn>
<svn>
<trunkUrl>svn+ssh://build@192.168.2.12/WCFProxyClasses/WCFProxyClasses/trunk</trunkUrl>
<executable>C:\Program Files\SlikSvn\bin\svn.exe</executable>
<username>build</username>
<password>********</password>
<revisionNumbers>true</revisionNumbers>
<workingDirectory>..\proxies\WCFProxyClasses</workingDirectory>
</svn>
</sourceControls>
</sourcecontrol>
<tasks>
<msbuild>
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<projectFile>WebApp/WebApp.msbuild</projectFile>
<targets>BeforeBuild;Build;AfterBuild</targets>
<timeout>300</timeout>
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
</tasks>
<publishers>
<rss/>
<xmllogger />
<statistics />
<!-- Email build report to development and QA team -->
<email from="ccnet_noreply@example.com" mailhost="mailhost" mailport="25" includeDetails="TRUE" mailhostUsername="" mailhostPassword="" useSSL="FALSE">
<users>
<user name="Developer" group="devs" address="dev@example.com"/>
</users>
<groups>
<group name="devs"/>
</groups>
<converters/>
<modifierNotificationTypes>
<NotificationType>Always</NotificationType>
</modifierNotificationTypes>
</email>
<modificationHistory onlyLogWhenChangesFound="true" />
</publishers>
</project>
我们有多个源代码控制目标,因为 Web 应用项目依赖于其他项目。我不确定这是否是问题的原因(我要解决的问题)。我对 CC.Net 的经验很少(没有!)所以我真的不知道去哪里找。我们在配置文件中有其他项目,但它们都没有多个源代码控制目标,并且它们的行为都符合预期。
这个项目的问题是,无论源代码控制如何变化,它都会尝试每 30 秒构建一次!据我了解,<revisionNumbers> 标签应该让 CC.Net 在再次构建之前等待新的源版本,但它只是每 30 秒不断构建和发送电子邮件。
如果您需要更多信息,我会提供。我希望有人认识到这里出了什么问题,或者以前遇到过这个问题,并且可能对我有一些建议。
谢谢!
编辑-
如果有帮助,上面定义的项目每次都无法构建。这是由于项目中引用的某些第 3 方 DLL 在 CC.Net 服务器上不可用。失败的构建是否会导致它每 30 秒“重试”一次?
【问题讨论】:
-
我没有在文档中看到
<sourceControls>上的autogetsource="true",您确定它是正确的吗?默认情况下,<intervalTrigger/>应仅基于<buildCondition>IfModificationExists</buildCondition>,因此您的源代码控制必须在每次检查时报告更改。为什么在这里使用多个源代码控制块而不是 svn externals?
标签: .net configuration cruisecontrol.net