.NET / SVN: построение проекта с использованием Хука предварительной фиксации


Вопрос новичка:

Можно ли построить мой проект (используя BuildEngine или что-то в этом роде), если я напишу крюк предварительной фиксации в C#? Что я хочу сделать, так это построить проект после фиксации на моем сервере разработки и принять транзакцию, если сборка завершится успешно. Возможно ли это вообще? Если да, то некоторые намеки будут высоко оценены.

1 2

1 ответ:

Я думаю, что это : - трудно сделать - неудобно

1. Трудно сделать
Ваш проект cc .net связан с сервером управления версиями (здесь svn). Если вы хотите принудительно запустить проект ccnet в предварительном Хуке (что можно сделать, вызвав ccnet.exe -c configfile.config -p "Project Name"), вам нужно будет получить исходный код, который вы хотите построить, и в вашем случае это не последние тесты. Одним из решений может быть фиксация на ветке, а затем создание проекта cc .net, который объединил бы ветку в магистраль после успешного завершения. строить.

2. Неудобно
Репозиторий системы управления версиями - это всегда ссылка на код, то, что вы фиксируете, должно быть проверено и исправлено. CI здесь для проверки целостности репозитория, проведения дополнительных тестов и автоматического развертывания. Таким образом, могут быть коммиты, которые нарушают сборку, но они должны быть исключениями, проверка сборки в предварительной фиксации является излишней.

Вот почему я бы рекомендовал вам не использовать инструмент CI для вашего крючка и использовать его "нормально" для тестирования вашего сборки (ваши сборки не будут нарушаться очень часто, но функциональные тесты могут быть неправильными).