Я установил CCNET, и в целом он работает нормально. Он опрашивает сервер SVN и проверяет код, если он видит какие-либо изменения. За исключением случаев, когда во время сборки происходит регистрация. В настоящее время сборка и тестовый прогон занимает около 3–4 минут, если кто-либо проверяет код во время сборки, то элемент управления Crusie не распознает регистрацию и ждет, пока не произойдет регистрация после запуска сборки.
Почему это может быть?
Это svn-часть файла ccnet.config:
<sourcecontrol type="svn">
<executable>svn.exe</executable>
<trunkUrl>http://*******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/</trunkUrl>
<workingDirectory>C:\CrusieControlProjects\AcademyPro\</workingDirectory>
<username>******</username>
<password>******</password>
<autoGetSource>true</autoGetSource>
</sourcecontrol>
Отредактировано для ясности
Проблема не в том, чтобы делать атомные проверки. Регистрация может быть завершена, CCNET создает приложение и запускает тесты. В этот момент кто-то еще делает еще одну регистрацию. Когда тестовый прогон будет завершен, я ожидаю, что CCNET определит регистрацию, выполненную во время тестового прогона.
Этого не происходит, регистрация пропущена и сборка, которую я ожидаю, пропущена.
Это ожидаемое поведение, или я не понимаю, о чем говорил @Джефф Мэтфилд?