параметр cruisecontrol <buildargs>nant не передается - PullRequest
2 голосов
/ 28 января 2010

Я пытался использовать параметр в моем конфигурационном файле для сборки cruisecontrol, но безрезультатно. При проверке файла журнала cruisecontrol все сборочные ошибки, которые я пытаюсь передать, НЕ передаются в вызов nAnt.

Вот задание nant:

<nant>
  <buildArgs>-D:CCFoo="Unknown" -D:foo="$(foo)"</buildArgs>
  <executable>C:\MCR\Trunk\BuildLibrary\NAnt.exe</executable>
  <baseDirectory>C:\MCR\Trunk\tek.Build</baseDirectory>
  <buildFile>tek.build</buildFile>
  <targetList>
    <target>cc</target>
  </targetList>
  <buildTimeoutSeconds>1800</buildTimeoutSeconds>
</nant>

Вот что появляется в лог-файле для вызова nant:

2010-01-28 08:45:12,815 [TekWebsite:DEBUG] Starting process [C:\MCR\Trunk\BuildLibrary\NAnt.exe] in working directory [C:\MCR\Trunk\tek.Build] with arguments [-nologo -buildfile:tek.build -logger:NAnt.Core.XmlLogger -D:CCNetArtifactDirectory="C:\Program Files (x86)\CruiseControl.NET\server\builds" -D:CCNetBuildCondition=ForceBuild -D:CCNetBuildDate=2010-01-28 -D:CCNetBuildTime=08:45:12 -D:CCNetFailureUsers= -D:CCNetIntegrationStatus=Unknown -D:CCNetLabel=50 -D:CCNetLastIntegrationStatus=Failure -D:CCNetListenerFile="C:\Program Files (x86)\CruiseControl.NET\server\builds\ClarksWebsite_ListenFile.xml" -D:CCNetModifyingUsers= -D:CCNetNumericLabel=50 -D:CCNetProject=TekWebsite -D:CCNetProjectUrl=http://cor-str-mcr08/ccnet/server/local/project/TekWebsite/ViewProjectReport.aspx -D:CCNetRequestSource=Dashboard -D:CCNetWorkingDirectory="C:\Program Files (x86)\CruiseControl.NET\server" cc]

Я думаю, что, возможно, есть параметр конфигурации для cruisecontrol, который говорит ему игнорировать buildargs?

Я попытался изменить порядок строк в задаче nant, поместив buildargs вверху, как вы видите, и несколько мест в середине и внизу. Я пробовал разные синтаксисы, доступные для buildargs, такие как:

-Д: CCFoo = "Неизвестный" -D: CCFoo = Unknown -DCCFoo = Unknown

Ответы [ 2 ]

2 голосов
/ 28 января 2010

Я понял это - файл ccnet.config, который используется процессом демона ccnet, не будет перезагружать файл конфигурации сборки до тех пор, пока:

а) процесс перезапущен ИЛИ
б) файл ccnet.config изменен или каким-либо образом затронут.

Поэтому я просто зашел в C: \ Program Files (x86) \ CruiseControl.NET \ server.ccnet.config и добавил пробел, сохранил, и теперь buildargs передаются в nant. Woohoo!

0 голосов
/ 27 июля 2016

У меня была точно такая же проблема с запуском какого-нибудь bat-файла, но я решил, что использовал:

<msbuild>
  ...

вместо

<exec>
  ...
...