Как я могу выполнить развертывание из места размещения, учитывая конкретный номер сборки, используя TFS - PullRequest
2 голосов
/ 19 мая 2011

Попытка реализовать CI с использованием TFS.У меня есть сборки, работающие нормально, и все проекты красиво разделены в папке drop.Мой вопрос состоит в том, как я могу позволить команде QA поставить в очередь «сборку» развертывания (без фактического построения), где они могут дать конкретный номер сборки.Этот номер сборки затем используется для развертывания битов в этой конкретной папке сброса сборки.

Конечная цель состоит в том, чтобы дать им пару параметров в диалоговом окне сборки очереди (уже сделано) и затем запустить процесс развертывания.,Я подумал об использовании TFS Deployer, попытался создать собственный шаблон процесса развертывания, а затем выполнить скрипт powershell из файла .proj.Похоже, у каждого варианта есть свой набор сложностей.

Кто-нибудь может дать мне несколько советов о том, как лучше всего это сделать?

Ответы [ 3 ]

0 голосов
/ 20 мая 2011

Способ сделать это - вызвать развертывание при изменении качества сборки.Идея состоит в том, что когда качество изменяется, например, на «Ready for QA», событие change вызывает развертывание из существующих папок сборки в систему QA.

См. Публикация на FTP после TFS 2010изменение качества сборки и Автоматическое развертывание с помощью Microsoft Web Deploy при событии изменения качества сборки TFS 2010 .

0 голосов
/ 07 января 2012

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

В вашем сценарии сборки TFS вы можете создать шаги развертывания, необходимые для вашей команды QA. По умолчанию вы должны сделать его условным на основе параметра и установить его не развертывать. Вы можете сделать это истинным или ложным в зависимости от того, является ли это сборкой CI или сборкой вручную.

Когда вы будете готовы протестировать свой код в QA, вы дадите им метку для использования, и им просто нужно будет передать ее, и она сможет создать и развернуть ее.

Прелесть этого в том, что вы контролируете версию подписанного кода, которую вы готовы передать своей команде QA.

У вас также есть отчет, в котором перечислены конкретные коды и рабочие элементы, которые были переданы в QA.

0 голосов
/ 19 мая 2011

Я сделал это недавно, используя следующее:

  1. Выберите цель развертывания (выбирает машину, сайт, данные нескольких элементов конфигурации).
  2. Пользовательские преобразования файла .config для соответствия цели развертывания (строки подключения и т. Д.).
  3. Задача Exec для MSDeploy для получения сборки на сервер с использованием Web Deploy 2.0.
  4. PSExec удаленно выполняет команду appcmd на сервере для перезапуска определенного сайта
  5. Повторите для служб, нажмите с MSDeploy.
  6. Сценарий сборки создает сценарии установки / удаления для служб.
  7. PSExec для служб (остановка, удаление, установка, запуск).

Он был изолирован в файле MSBuild, который может быть выполнен из любой командной строки, передающей номер сброса сборки, или может быть добавлен в определение сборки TFS с помощью задачи MSBuild, в которой отключены дополнительные параметры, которые вы указали. уже настроен.

...