Как создать сборку TFS, которая автоматически запускает выпуск (развертывание) из управления выпусками Microsoft для Visual Studio 2013?
Интеграция сборки TFS с управлением выпусками
Ответы (1)
Чтобы начать выпуск с вашей сборки TFS, вам нужно изменить определение сборки. К счастью, когда вы устанавливаете Release Management, он создает шаблон сборки, который вы можете использовать в качестве примера. В некоторых случаях этого будет достаточно, чтобы начать работу.
Шаблон процесса сборки управления выпуском
Шаблоны процесса сборки управления выпусками не устанавливаются в TFS по умолчанию, поэтому он не будет отображаться в качестве доступного шаблона процесса сборки, пока вы его не добавите.
Найдите шаблон на своем сервере в папке: C:\Program Files (x86)\Microsoft Visual Studio 12.0\ReleaseManagement\bin\
TFS 2010 : ReleaseDefaultTemplate.xaml
TFS 2012 : ReleaseDefaultTemplate.11.1.xaml
TFS 2013 : ReleaseTfvcTemplate.12.xaml (or ReleaseGitTemplate.12.xaml if using GIT)
Чтобы добавить шаблон процесса сборки управления выпуском, вам нужно будет вернуть его в систему управления версиями TFS в папке BuildProcessTemplate вашего проекта. Затем добавьте файл процесса сборки при редактировании (или добавлении) определения сборки. Как только шаблон управления выпуском будет добавлен в список шаблонов сборки, вы можете начать его использовать.
Пожалуйста, убедитесь, что вы используете вышеуказанные шаблоны с сервера управления релизами, а не из клиентского каталога, как я изначально. Если это так, вы получите довольно странные ошибки во время сборки, например:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets (3883): Web deployment task failed. (Unknown ProviderOption:DefiningProjectFullPath. Known ProviderOptions are:skipInvalid.)
Выбор пакета \ Путь к пакету.
Когда вы настраиваете свои компоненты, Release Management должен знать, где взять ваши установочные файлы, чтобы что-то с ними сделать. Когда вы создали свой шаблон выпуска, его следует подключить к конкретной сборке, выбрав определение сборки, которое будет инициировать его (также отметьте «может инициировать выпуск из сборки?»). Когда вы добавляете компоненты для установки в составе выпуска, вы указываете их источник. Следует выбрать «Сборки с приложением». Что меня поразило, так это большое пустое поле рядом с полем Build Drop, которое является обязательным полем. Моя первоначальная реакция заключалась в том, чтобы заполнить его именем файла msi, который я пытался развернуть. Это имеет смысл, верно? неправильный. Если я ставил в очередь сборку из Visual Studio, я продолжал получать следующее сообщение.
Package location '\\blah\blah\Build Name\Build Name_20140707.3\A.Product.To.Install.msi' does not exists or Deployer user does not have access.
Файл действительно существовал в том месте, и пользователь, которого использовал агент развертывания, имел доступ к каталогу перетаскивания. Я также подтвердил, что он смог получить к нему доступ с помощью ProcMon. Поспав на нем, я решил навести указатель мыши на поле ввода, и всплывает хорошая всплывающая подсказка:
Путь пакета относительно места размещения сборки требуется для компонента, связанного с шаблоном выпуска. Если пакет находится непосредственно в корневом каталоге сборки, вам необходимо ввести символ «\».
Итак, после моего момента эврики я удалил имя файла msi и заменил его на «\» и поставил в очередь следующую сборку. Это сработало. Оглядываясь назад, я думаю, что им следует удалить обязательное требование о вводе чего-либо, чтобы заменить необходимость ввода «\». Это немного скрыто и не интуитивно понятно.
Дополнительную информацию см. в статье MSDN здесь
Для измененных шаблонов процесса сборки