我在配置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秒就会继续构建和发送电子邮件。
如果您需要更多信息,我会给予。我希望有人能够认识到这里出了什么问题,或者之前遇到过这个问题,并且可能会给我一些建议。
谢谢!
编辑 -
如果有帮助,上面定义的项目每次都无法构建。这是由于项目中引用的某些第三方DLL在CC.Net服务器上不可用。失败的构建是否会导致它每30秒“再次尝试”?
答案 0 :(得分:2)
尝试
buildCondition="IfModificationExists"
(尽管它应该是default)... HTH
答案 1 :(得分:0)
在项目的构建摘要中,它列出了哪些内容已被修改?对于svn,您应该看到一个部分,上面写着“自上次构建以来的修改”,然后是文件列表,签入时间和签到注释。
构建中是否有任何东西将文件检索回svn(也许是AssemblyInfo.cs?)
编辑:
您在更新中提到每次都无法构建。在修复之前,我怀疑你会得到这样的重试。为什么它会继续重试,但是,我并不完全确定。您的脚本与我们使用的脚本之间的一个区别是,我们不对svn项使用“revisionNumbers”标记(尽管我不确定是否存在问题。)
你还提到自上次构建以来它发现了534次修改。每个新版本的数量都在增加吗?如果数量增加,您可能还有其他东西将一个或多个文件检入存储库,这将导致另一个构建开始。