2011-06-02 2 views
1

У меня есть файл ccnet.config CruiseControl.NET, который контролирует два разных проекта в одной и той же области проекта. Если один из них изменяется, он должен вызвать сборку. Но я хотел знать, какой проект был изменен среди двух. Я должен передать их как параметр командной строки. Есть ли встроенное свойство?Передача параметра CruiseControl.NET

+0

Почему вы оба в том же объеме проекта? Вам нужно строить их вместе? – marto

+0

да. Как будто у меня есть 2 проекта для мониторинга. Первый проект предназначен для размещения сценариев таблицы, а второй проект содержит инструкции DML. Поэтому всякий раз, когда происходит изменение структуры таблицы, я должен удалить базу данных и установить новую, включая данные таблицы + dml +. Если 2-й проект изменен, его достаточно для запуска только операторов DML. Когда у меня есть проект diff, должна быть координация между ними. Если 1-й proj запущен, второй не должен запускаться и наоборот. – priya

ответ

3

Разделение проекта на два проекта кажется правильным.
В частности, разделите на проекты и добавьте Project trigger для проекта DML.
Таким образом, если скрипты таблицы должны быть изменены, оба проекта будут инициированы, и если изменяется только некоторый оператор DML, будет запущен только второй проект.

В случае, если оба проекта имеют общий триггер, я рекомендую использовать синхронизацию queue.

<queue name="Q_Synchronizer" duplicates="UseFirst" /> 
<project name="project1_name" queue="Q_Synchronizer" queuePriority="1">project stuff...</project> 
<project name="project2_name" queue="Q_Synchronizer" queuePriority="2">project stuff...</project> 

НТН

+0

Но как я могу контролировать то, что оба они не должны запускаться одновременно. Когда 1-й проект запущен, второй не должен включать, а если второй запускается, то сначала не следует включать. Синхронизация требуется, поскольку они работают с одним и тем же БД. – priya

+1

Используйте очередь синхронизации. Ответ обновлен. –

+0

Спасибо за ответ Герцель. Это работает только с версией cruisecontrol 1.4.2, но у меня всего 1,4.0, и я не могу перейти и к более высокой версии. Есть ли другая возможность с версией 1.4.0 для ее реализации? – priya

Смежные вопросы