Я работаю с CruiseControl.NET и пытаюсь взять сухой подход , как показано в статье http://www.zorched.net/2009/01/30/dry-your-cruisecontrolnet-configuration/ У меня есть простой ccnet.config и простой projectfile Test-project.xml. Инструмент оценки конфигурации говорит мне , что «Дубликат узел Обнаружен». Любые подсказки / советы было бы здорово.
Ccnet.config
<cruisecontrol xmlns:cb=urn:ccnet.config.builder>
<!-- Standard Inits -->
<cb:define name=StandardInit-block>
<webURL>http://localhost/ccnet-dashboard/?_action_ViewProjectReport=true&server=local&project=Introvert</webURL>
<artifactDirectory>D:\CC\$(ProjName)\artifact\</artifactDirectory>
<modificationDelaySeconds>120</modificationDelaySeconds>
</cb:define>
<!-- Trigger run weekly -->
<!-- Vars $(TriggerTime), $(ProjName) -->
<cb:define name=WeeklyBuild-block>
<triggers>
<scheduleTrigger time=$(TriggerTime) buildCondition=ForceBuild name=Nightly build at $(TriggerTime) for $(ProjName)>
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>
</cb:define>
<cb:include href=Test-project.xml xmlns:cb=urn:ccnet.config.builder/>
</cruisecontrol>
Тест-project.xml
<project name=Test xmlns:cb=urn:ccnet.config.builder>
<cb:scope
TriggerTime=2:30
ProjName=Test
ProjStarPath= >
<!-- Standard block -->
<cb:StandardInit-block/>
<!-- Trigger block -->
<cb:WeeklyBuild-block/>
<tasks></tasks>
<publishers></publishers>
</cb:scope>
</project>