2013-03-09 4 views
3

Мне нравится идея автоматического управления версиями моих сборников, но я не уверен, что верный способ - вернуть AssemblyInfo.cs обратно в исходный элемент управления (или же он не входит в исходный контроль?). , Это что-то, что CI-сервер должен совершать автоматически для каждой сборки?Непрерывная интеграция и управление версиями программного обеспечения

Использование бамбука в данный момент.

+1

Какой сервер CI вы используете? Ответ будет зависеть от Bamboo, TeamCity, TeamFoundation Server. –

+0

Бамбук в настоящий момент –

+0

@JoePhilllips - отредактировал мой ответ со ссылкой, указывающей, как номер сборки может быть установлен в артефакте. –

ответ

0

Я как бы смущен вашим вопросом. Если вы хотите, чтобы изменения сохранялись, вам придется зафиксировать AssemblyInfo.cs после того, как они будут отредактированы заданием сборки. Однако большинство систем сборки, пытающихся решить эти проблемы, не сохраняют изменений. Они просто проверяют файл и редактируют локальную версию перед тем, как начать задачу сборки.

+0

«most build systems ...» В этой системе, как вы справляетесь, когда хотите вернуться в историю и переустановить определенную версию из исходного элемента управления? Если ничего не было сделано, как вы знаете, с какой точки «тянуть»? – stonedauwg

1

Мы используем Teamcity как наш CI сервер, и он поставляется с функцией под названием AssemblyInfo patcher

Что это делает, временно добавить номер TeamCity сборки в AssemblyInfo.cs, построить генерировать артефакт, а затем вернуться к изменению , Таким образом, созданный артефакт имеет ту же версию, что и номер сборки.

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

Edit 1: Поскольку вы используете бамбук, here ссылка, которая описывает один из способов установки номера сборки в созданном артефакте в бамбуке, без того, чтобы проверить, в AssemblyInfo.cs.

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