У меня смешанное решение с парой веб-приложений и проектов баз данных SQL.
У меня также есть удаленный тестовый сервер с MS SQL 2012 и IIS 7. Сервер сборки TFS находится на другом компьютере. Все серверы настроены на один домен.
Я хотел бы развернуть базы данных и веб-приложения в процессе сборки.
Теперь я настроил генерацию пакета сборки в файле процесса TFS XAML, используя следующие флаги:
/p:DeployOnBuild=True
и я также установил другие флаги для веб-публикации:
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MsDeployPublishMethod=WMSVC
/p:AllowUntrustedCertificate=True
но я немного запутался, какой метод мне следует использовать: WMSVC или удаленный агент или что-то еще.
Какой самый простой способ настроить веб-развертывание с сервера сборки TFS на сервер IIS 7 и избежать проблем с учетными записями пользователей (чтобы избежать настройки / p: UserName = YOURUSERNAME
/ p: Пароль = ВАШ ПАРОЛЬ в XAML или определение сборки)?
Другая проблема касается проектов баз данных. В процессе сборки были сгенерированы некоторые файлы .dacpac. Каков наилучший способ их развертывания из процесса сборки TFS XAML?
Поскольку в моем решении смешанные типы проектов, я не уверен, как настроить процесс сборки, чтобы он правильно определял, какие проекты требуют развертывания базы данных, а какие - развертывания через Интернет.
Надеюсь, MSBuild / MSDeploy достаточно умен, чтобы просто игнорировать эти / p: flags, если текущий проект не является веб-приложением или, возможно, он вызовет сбой для всего процесса сборки?