С Subversion или TFS, как бы вы настроили автоматическую сборку? - PullRequest
3 голосов
/ 10 июля 2009

С Subversion или TFS, как бы вы настроили автоматическую сборку?

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

Я использую структуру папок / branch / trunk / tags. Я использую приложение для сборки (finalbuilder).

Какое имя тега я бы сказал ему извлечь (или номер редакции и т. Д.)? Поскольку он будет постоянно меняться, как люди будут выполнять ночные сборки? Используя дату в названии релиза?

Ответы [ 6 ]

5 голосов
/ 10 июля 2009

Просто используйте номер редакции. Что-то вроде CruiseControl.NET должно сделать это довольно легко для вас.

4 голосов
/ 10 июля 2009

Используйте TeamCity , настройте отдельную сборку для trunk + каждой ветви. Мы делаем это, и это очень полезно.

0 голосов
/ 10 июля 2009

Поскольку вы спрашиваете о TFS:

Мы используем CommonAssemblyInfo для увеличения версии DLL. Ночные сборки обычно из ствола.

У нас есть основная папка, из которой разветвляется папка «Dev» для текущего выпуска. Мы делаем ночные сборки из текущей ветки Dev и руководства, так называемых эталонных сборок, как только мы объединяем Dev-вещи обратно в Main. Сборки определяются через агент Build Agent. Пользовательские задачи, такие как увеличение номера версии, входят в игру через MSBuild.

0 голосов
/ 10 июля 2009

Мы используем Hudson , который периодически (по вашему усмотрению) проверяет изменения любого svn пути, который вы ему дадите. Затем он имеет возможность запускать сценарий оболочки (мы создаем для iPhone, поэтому используйте xcodebuild, но вы можете использовать все, что используется для ASP.net). Затем мы загружаем результаты этого на наш локальный сервер в $REVISION. В этом случае было бы легко запустить автоматизированные тесты.

0 голосов
/ 10 июля 2009

Вы должны иметь возможность извлекать прямо из / trunk (и, возможно, с другими ночными сборками из веток, которые вы считаете важными). Не очень полезно делать ночные сборки из тега, так как обычно теги статичны. Когда он выписан, вы можете идентифицировать выписку по номеру ревизии, которая была выписана. Таким образом, если вам когда-нибудь понадобится выяснить, что изменилось с тех пор, вы можете отличиться от этой ревизии (или ветки, что угодно).

0 голосов
/ 10 июля 2009

Я бы настроил сервер сборки, чтобы отслеживать папку / trunk и запускать сборку всякий раз, когда там что-то фиксируется. При желании можно было бы завершить сценарий сборки созданием тега для сборки (даже если это может быть немного амбициозно, в зависимости от того, как часто вещи передаются в транк). Когда я это сделал, я обычно включал номер ревизии subversion в имя тега, а также в номер версии файлов (в той степени, в которой это применимо).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...