Subversion и процессы сборки CI - PullRequest
1 голос
/ 16 июня 2009

Здесь, на работе, мы используем Subversion и CruiseControl.NET, а также как инструменты управления исходным кодом и CI. Наша структура Subversion настроена следующим образом:

Project
    Branch
    Tag
        1.0.0.0
        1.0.0.1
        1.0.0.2
    Trunk

В настоящее время наш процесс создания сборок состоит в том, чтобы создать тег из ствола и запустить пакетный файл для построения наших решений для тега. Пакетный файл также выполняет все наши MSTests и вычисляет результаты покрытия кода.

Мне было интересно, является ли это нормальной практикой или было бы лучше построить форму ствола и использовать CI (Hudson или аналогичный) для автоматического создания тега?

1 Ответ

1 голос
/ 16 июня 2009

Теги должны быть дешевыми копиями ствола, поэтому то, что вы делаете, хорошо, если вы довольны созданием тега как для потенциально успешных, так и для неудачных сборок.

С помощью сборки ствола и обработки тегов вы можете создать ее так, чтобы она создавала тег только в зависимости от того, успешно ли выполнена сборка или нет. Это полезно, если вы хотите пометить сборки релиза или потенциальные сборки релиза - вы знаете, что по крайней мере он собирается правильно и проходит ряд тестов. Это звучит для меня как лучший вариант

Независимо от того, какой процесс вы в конечном итоге придерживаетесь, я бы определенно посмотрел на использование Hudson вместо Cruise Control. Вы сможете настроить гораздо более сложный процесс сборки с продвижением сборки и тегами, основанными на успехе. Посмотрите на следующее для продвижения сборки:

http://configmanag.blogspot.com/2008/08/build-promotion-with-hudson.html

и следующее для маркировки успешных сборок с использованием плагина Hudson:

http://wiki.hudson -ci.org / дисплей / HUDSON / Subversion + Tagging + Plugin

...