Подтвердить что ты не робот

Какой из них лучше осьминог или msdeploy для автоматического развертывания на нескольких серверах с использованием teamcity

Я изучил оба. Хотите, чтобы ваши предложения о том, какой из них лучше для автоматического развертывания в Интернете на нескольких серверах.

4b9b3361

Ответ 1

Думаю, вам обязательно нужно попробовать TeamCity и Octopus. Мы используем TeamCity для создания пакетов Octopus (NuGet) и инструмента Octo для автоматического запуска развертывания в тестовую среду после каждой сборки succesfull. После этого мы используем портал Octopus для развертывания развертывания в других средах.

Мы используем следующую командную строку Octo для запуска развертываний TeamCity:

Octo.exe create-release --apiKey=YourOctopusAPIKey --server=http://YourOctopusServer:9015/api --project=YourOctopusProjectName --deployto=YourOctopusEnvironment

Шаг Octo create-release должен быть в отдельном проекте TeamCity, иначе NuGet не будет обновлен с помощью полученного пакета из сборки.

Ответ 2

MSDeploy может использоваться для развертывания всего, начиная с веб-приложений и заканчивая базами данных, а Web Farm Framework можно использовать для синхронизации с основным сервером на вторичных серверах (что вы также можете делать вручную, используя разные наборы пармеров, если хотите).

То, что вы описываете, является "конвейером развертывания". Я не уверен, как вы собираетесь интегрировать его в Team City, но основная предпосылка:

  • Создайте приложение, протестируйте и упакуйте его (объявив все параметры, которые необходимо установить). Вставьте пакет (и любые файлы, необходимые для последующих шагов) в репозиторий артефактов (возможно, Team City, если он его поддерживает).
  • (автоматически запускается). Получите пакет из репозитория артефактов и разверните его в dev, вызвав msdeploy -verb:sync -source:package.zip -dest:auto,computerName=http://server:8172/msdeploy.axd -setParamFile:dev.xml
  • (в ручном режиме) Развертывание пакета на этап
  • (в ручном режиме) Развертывание пакета для работы

MSDeploy поддерживает удивительное количество функций, включая хранение учетных данных в диспетчере учетных данных Windows и параметризацию практически всех аспектов развертывания. Я настоятельно рекомендую вам проверить это. (Он также бесплатный, кроме лицензии Windows Server)

Ответ 3

Это зависит. (мне кажется, что этот вопрос еще не отмечен). Но в любом случае, возможно, стоит спросить себя:

  • Вы разрабатываете веб-сайт, который требует от QA подписывать и продвигать или иметь набор автоматизированных тестов для проверки каждой сборки?
  • Развертываете ли вы развертывание в нескольких средах (QA, UAT, Demo, Production) и хотите увидеть красивую панель, в какой версии есть?
  • Вам нужны определенные пользователи для разрешения на производство?
  • Вам нужно развернуть другие типы компонентов (службы Windows, базы данных и т.д.).
  • Вам нужна дополнительная настройка на каждом сервере перед началом развертывания (например, звоните шоколадно, чтобы установить и настроить Mongo). Aka ограниченное выделение сервера.
  • Требуется контроль над жизненным циклом продвижения (например, перейти к производству, только если он прошел через QA).

Если вы сказали "да" большинству из вышеперечисленных, я бы сказал, что Octopus Deploy выигрывает руки для развертывания. И угадайте, что это бесплатно для до 5 проектов и бриза, чтобы встать и работать.

Для простых веб-сайтов, которым требуется простое управление CMS конечными пользователями или веб-сайтами, которые разработчикам не требуется поддерживать, я бы сказал, что все материалы Azure и MSDeploy - отличный инструмент для работы. Как отметил Ричард Салай, в наши дни он имеет отличные инструменты командной строки для регулярного опубликования.

В терминах сервера сборки это не имеет особого значения, поскольку оно должно использоваться для создания артефактов. Team City - победитель для меня, хотя благодаря хорошей интеграции с Octopus. ИМО, что отдельное обсуждение.