2015-08-04 99 views
0

У меня есть два проекта сборки. позволяет называть их проектом A и проектом A.pack. Когда я принудительно строю проект A, он запрашивает у меня параметр Boolean, если я хочу построить проект A.pack.Условный силовой сборщик CCnet не работает

Но я не могу сделать в блоке издателей проект A правильным способом форсировать проект A.pack. Я использую условную задачу, но она не работает. В файле журнала ccnet записывает только то, что он терпит неудачу при условной задаче. Какой обычный способ сделать это в ccnet?

Обновление: Извините за мой английский. Это не мой первый язык. То, что я хотел бы сделать это: В проекте AI добавлен Boolean параметр:

<booleanParameter> 
    <name>ExampleParam</name> 
    <true name="Yes">1</true> 
    <false name="No">0</false> 
    <display>Example Param</display> 
    <default>No</default> 
    <required>false</required> 
</booleanParameter> 

И добавил условную forcebuild в издателями, как это:

<publishers> 
    <!-- some other tasks .. --> 
    <conditional> 
    <conditions> 
     <compareCondition> 
     <value1>${ExampleParam}</value1> 
     <value2>1</value2> 
     <evaluation>equal</evaluation> 
     </compareCondition> 
    </conditions> 
    <tasks> 
     <forcebuild> 
     <project>A.pack</project> 
     <serverUri>tcp://localhost:21235/CruiseManager.rem</serverUri> 
     </forcebuild> 
    </tasks> 
    </conditional> 
</publishers> 

Когда я нажимаю «сила» она спрашивает у меня «Пример Param», я проверяю «Да», и когда он заканчивает сборку приборной панели, это говорит о том, что сборка была успешной, но задача ForceBuildPublisher завершилась неудачно. В журнале сервера нет информации о том, почему задача принудительной сборки не выполнена.

Это CruiseControl.NET-1.6.7

Update 20150808: Я убедил своих коллег, чтобы обновить CCNET. В версии 1.8.5 можно сделать условную сборку, как я писал.

+0

Пожалуйста, найдите время, чтобы посмотреть http://stackoverflow.com/help/how-to-ask, прежде чем задавать вопрос –

+0

Можете ли вы опубликовать ваша конфигурация ccnet для этих проектов? Вы используете триггер проекта для A.pack? http://cruisecontrolnet.org/projects/ccnet/wiki/Project_Trigger – ioscode

ответ

0

Если логический параметр равен true, тогда пишите в файл, который A.pack смотрит. A.pack строит, если файл становится грязным. См. Filesystem Source Control Block для использования A.pack при прослушивании файла, загрязненного A.

+0

Благодарим вас за ответ. Это действительно возможно. Но я думаю, что для моей ситуации это был бы грязный хак. – brusiks