У меня проблема с настройкой 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>
У нас есть несколько целей контроля версий, потому что проект веб-приложения зависит от других. Я не уверен, является ли это причиной проблемы (к которой я клоню) или нет. У меня мало опыта (нет!) С CC.Net, поэтому я не знаю, где искать. У нас есть другие проекты в файле конфигурации, но ни один из них не имеет нескольких целей контроля версий, и все они ведут себя как положено.
Проблема этого проекта заключается в том, что независимо от изменений управления исходным кодом, он просто пытается построить каждые 30 секунд! Насколько я понимаю, тег <revisionNumbers>
должен заставить CC.Net ждать новой редакции исходного кода перед повторной сборкой, однако он просто продолжает собирать и отправлять электронные письма каждые 30 секунд.
Если вам нужна дополнительная информация, я дам ее. Я надеюсь, что кто-то узнает, что здесь происходит, или столкнулся с проблемой раньше, и может дать мне несколько советов.
Спасибо!
РЕДАКТИРОВАТЬ -
Если это помогает, определенный выше проект не может быть собран каждый раз. Это связано с тем, что некоторые сторонние библиотеки DLL, указанные в проекте, недоступны на сервере CC.Net. Может ли неудачная сборка вызывать повторную попытку каждые 30 секунд?