Как развернуть проект веб-сайта и базы данных с использованием TFS 2010? - PullRequest
7 голосов
/ 21 мая 2010

Я пытался понять это и до сих пор не нашел простого решения. Неужели так сложно развернуть проект базы данных (и веб-сайт), используя TFS 2010 как часть процесса сборки?

Я нашел один пример, который включал множество сложных проверок и редактирование рабочего процесса (кстати, это гигантский рабочий процесс).

Я даже купил книгу «Профессиональное управление жизненным циклом приложений с VS 2010», но, очевидно, профессионалы не развертывают свои приложения, так как она даже не упомянута в книге.

Я знаю, что я отсталый, когда дело доходит до TFS, но кажется, что должен быть любой простой способ сделать это. Есть ли?

1 Ответ

7 голосов
/ 21 мая 2010

Я не могу говорить о части базы данных, но я только что прошел через веб-часть, волшебная часть - это , а не очень хорошо документированный компонент, а именно параметры MSBuild ,

В вашем определении сборки:

  1. Процесс слева
  2. Обязательно> Элементы для сборки> Конфигурации для сборки
    • Редактировать, добавить новый, для этого примера
      • Конфигурация: Dev (ниже я расскажу, как создать конфигурацию)
      • Платформа: Любой процессор
  3. Дополнительно> MSBuild Process
    • Используйте следующие аргументы (по крайней мере для меня ваш метод публикации может отличаться).

MsBuild Параметры:

/p:MSDeployServiceURL="http://myserver"  
/p:MSDeployPublishMethod=RemoteAgent 
/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=True 
/p:username=aduser
/p:password=adpassword

Требования:

  1. Вам необходимо установить MS Deploy Remote Agent Service на веб-сервере destination , MSDeploy также должен быть на сервере Build / Deployer, но это должно быть так по умолчанию.
  2. Учетная запись, которую вы используете в вышеприведенных пунктах, требует административного доступа, по крайней мере, к IIS ... Я не уверен, каковы минимальные требования к разрешениям.

Вы указываете, какой веб-сайт / виртуальный каталог будет посещать сайт в развертываемом веб-проекте. Лично у меня есть конфигурация сборки для каждой среды, это делает сборки очень простыми в управлении и организации. Например, у нас есть Release , Debug и Dev (есть еще, но для этого примера это все). Только веб-проект имеет конфигурацию Dev .

Для этого щелкните правой кнопкой мыши решение, Configuration Manager ... , В веб-проекте щелкните раскрывающийся список configuration , нажмите New ... . Дайте ему имя «Dev» для этого примера, скопируйте настройки из отладки или выпуска, что бы ни соответствовало тому, что должно быть в среде вашего сервера развертывания. Убедитесь, что флажок «Создать новые конфигурации решений» установлен по умолчанию. После создания этого, измените раскрывающийся список конфигурации решения на новый Dev one и Any CPU ... убедитесь, что все ваши проекты верны, у меня был переход на x86 и x64 случайно, не уверен в точной причине).

В вашем веб-проекте щелкните правой кнопкой мыши свойства. Слева нажмите Пакет / публикация в Интернете (вам также может понадобиться возиться с другой вкладкой Пакет / публикация SQL, но я не могу об этом говорить). В опциях справа щелкните Создать пакет развертывания в виде zip-файла . Расположение по умолчанию хорошо, следующее текстовое поле я не нашел нигде документально. Формат таков: WebSite / Virtual Directory , поэтому, если у вас есть сайт под названием «BuildSite» в IIS без виртуального каталога (app == root сайта), у вас будет BuildSite только в этой коробке. Если он находится в виртуальном каталоге, у вас может быть Веб-сайт по умолчанию / BuildVirtualDirectory .

После того, как вы установите все это, убедитесь, что вы зарегистрировали решение и веб-проект, чтобы на сервере сборки были внесенные вами изменения конфигурации, а затем начните сборку:)

Если у вас есть дополнительные вопросы, я рекомендую вам посмотреть это видео Вишала Джоши , в частности, примерно через 22 и 59 минут, он также охватывает часть базы данных ... но У меня нет никакого реального опыта пробовать это, так как мы на вершине не MSSQL базы данных.

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