Исключение с CC .Net 1.6.789.1 - Невозможно запустить процесс, поскольку имя файла не указано - PullRequest
1 голос
/ 26 марта 2012

У меня был CC .NET 1.4.4 ранее, и все работало нормально.Я обновил его до 1.6.789.1, и теперь я получаю исключение ниже в файле журнала на Program Files (x86)\CruiseControl.NET\server\Private Branch \Artifacts\buildlogs (я использую понятный случай, но я думаю, что это не имеет значения, только к вашему сведению.)

Я бы действительноСпасибо, если кто-то может мне помочь с этим, так как я потратил достаточно времени на это.

<build date="2012-03-16 15:31:19" buildtime="00:00:00"
buildcondition="ForceBuild" />
 <exception><![CDATA[System.InvalidOperationException: Cannot start
process because a file name has not been provided.
  at System.Diagnostics.Process.Start()
  at
ThoughtWorks.CruiseControl.Core.Util.ProcessExecutor.RunnableProcess.StartProcess()
  at
ThoughtWorks.CruiseControl.Core.Util.ProcessExecutor.RunnableProcess.Run()
  at
ThoughtWorks.CruiseControl.Core.Util.ProcessExecutor.Execute(ProcessInfo
processInfo)
  at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo
processInfo)
  at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.ClearCase.GetModifications(IIntegrationResult
from, IIntegrationResult to)
  at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.FilteredSourceControl.GetModifications(IIntegrationResult
from, IIntegrationResult to)
  at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModificationsWithLogging(ISourceControl
sc, IIntegrationResult from, IIntegrationResult to)
  at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl
sourceControl, IIntegrationResult lastBuild, IIntegrationResult
thisBuild)
  at
ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult
from, IIntegrationResult to)
  at
ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest
request)]]></exception>
</cruisecontrol>

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

Хорошо, вот исправление этой проблемы.Спасибо VonC за то, что он пролил некоторый свет на это, и это был один из ваших старых постов, который помог мне исправить это.

С CC.Net 1.4 и 1.5 у меня никогда не было параметра <executable> в разделе <sourcecontrol>, но послеГлядя на следующий поток - CruiseControl.NET и конфигурацию Clearcase , я подумал об использовании полного пути файла cleartoo.exe, как указано ниже, и это решило проблему, сборка прошла нормально.Похоже, что для CC.NET 1.6 упоминание полного пути к exe системы контроля версий является обязательным.

<executable>C:\Program Files (x86)\Rational\ClearCase\bin\cleartool.exe</executable>
0 голосов
/ 26 марта 2012

Использование CC с ClearCase может иметь значение (например, когда используется с CCRC , удаленным клиентом ClearCase), если процесс обновления вашего снимка (или вашего веб-просмотра в случае CCRC) имеет какой-либо вопрос для завершения.

(предположение :)
Учитывая, что ClearCase.GetModifications вызывается, я предполагаю, что имя представления больше не предоставляется, возможно, потому, что процесс CC, используемый для вывода указанного имени из каталога текущего представления (cleartool lsview -cview). Если этот процесс CC запускается из неправильного каталога (то есть одного за пределами представления ClearCase), он больше не сможет вернуть правильное имя представления ClearCase.

...