Машина для сборки и развертывания с веб-панелью управления - PullRequest
3 голосов
/ 22 февраля 2011

Вот что я пытаюсь сделать: мой код находится на Bitbucket (это веб-приложение ASP.net).Я хочу собрать машину для сборки, имеющую веб-панель управления.Я иду на панель инструментов и говорю: «Хорошо, покажи мне все ветви и прочее в моем проекте Bitbucket».Теперь, пожалуйста, получите последний код из этой ветки для меня и соберите его.Затем, пожалуйста, разверните его в этом месте для меня или, возможно, в этом другом месте.Я хочу, чтобы эта панель инструментов также дала мне историю всех этих сборок и развертываний.Я очень новичок в этой концепции, я читал о CC.net и MSBuild и других вещах, но я не могу найти правильный ответ.Пожалуйста, поставьте меня в правильном направлении.

1 Ответ

4 голосов
/ 22 февраля 2011

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

Чтобы сервер сборки точно знал, что делать, вы обычно помещаете в свое решение скрипт сборки (с MSBuild или NAnt), который выполняет все, что вам нужно - сборка решения, возможно, создание пакета установки и так далее.

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

Если вам нужно решение с веб-панелью управления, попробуйте TeamCity .
Это коммерческий продукт, но он бесплатен для 20 пользователей.
В веб-интерфейсе вы можете делать все - настраивать, запускать сборки и просматривать историю сборок.


EDIT:

Худа, по вашему вопросу о развертывании:
Я не думаю, что в TeamCity есть «режим развертывания» в этом смысле. То, что вы могли бы сделать, это включить материал развертывания в ваш скрипт сборки, который запускается TeamCity.
Итак, после завершения самой сборки скопируйте сгенерированные сборки и файлы на ваш веб-сервер (ы).

Если вы сделаете это таким образом, вы ДОЛЖНЫ убедиться в том, что в сценарии сборки развертывание произойдет только в том случае, если сборка не завершилась неудачей (и если у вас есть юнит-тесты, если и юнит-тесты тоже не прошли ).

Это очень важно для живого приложения, потому что, если вы не позаботитесь об этом достаточно хорошо, ваше приложение будет немедленно отключено всякий раз, когда кто-то фиксирует «плохой» код в вашем хранилище (и будет оставаться в автономном режиме до следующий "хороший" коммит) !!


РЕДАКТИРОВАТЬ 2:

См. Комментарий Лассе В. Карлсена ниже: более комфортно с новой версией TeamCity 6.

...