Estoy intentando configurar CruiseControl.NET 1.5.7256.1 para compilaciones automáticas. Mi proyecto se almacena en Mercurial, y estoy usando el siguiente ccnet.config
:Cómo hacer que CruiseControl.NET trabaje con Mercurial: "Error de control de fuente (GetModifications)"
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="Slider" webURL="http://localhost/ccnet">
<triggers>
<intervalTrigger seconds="3600" />
</triggers>
<sourcecontrol type="hg" autoGetSource="true">
<executable>C:\Python26\Scripts\hg.bat</executable>
<repo>c:\repos\slider</repo>
<workingDirectory>c:\ccnet\slider</workingDirectory>
</sourcecontrol>
<tasks>
<msbuild>
<executable>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe</executable>
<workingDirectory>c:\ccnet\slider</workingDirectory>
<projectFile>Slider.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
<targets>Slider</targets>
<timeout>900</timeout>
<logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
</tasks>
</project>
</cruisecontrol>
Pero cuando fuerzo una acumulación, me sale este error:
[Slider:WARN] Source control failure (GetModifications): Source control operation failed: < was unexpected at this time.
. Process command: C:\Python26\Scripts\hg.bat log -r 0:123 --template <modification><node>{node|short}</node><author>{author|user}</author><date>{date|rfc822date}</date><desc>{desc|escape}</desc><rev>{rev}</rev><email>{author|email|obfuscate}</email><files>{files}</files></modification> --noninteractive
[Slider:INFO] Integration complete: Exception - 12/2/2010 1:19:08 PM
El error es presumiblemente causada por la no indicada paréntesis angulares en el parámetro --template
, pero ¿cómo puedo hacer que CC.NET ponga comillas alrededor de ese parámetro?
===============
Aquí es hg.bat:
@echo off
rem Windows Driver script for Mercurial
setlocal
set HG=%~f0
rem Use a full path to Python (relative to this script) as the standard Python
rem install does not put python.exe on the PATH...
rem %~dp0 is the directory of this script
%~dp0..\python "%~dp0hg" %*
endlocal
¿Cómo son los contenidos de hg.bat? – bluevoodoo1
Llama al intérprete de Python para ejecutar Hg. IIRC fue creado por el instalador del paquete Python. Puedo publicar los contenidos el lunes. –
Bueno, terminé cambiando a TeamCity, que funciona muy bien con Hg y también es fácil de configurar. Sería bueno saber qué estaba mal con CC.NET. –