Развертывание приложения .Net, встроенного в VSTS, на удаленном агентском компьютере. - PullRequest
0 голосов
/ 31 августа 2018

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

У меня есть приложение MVC .Net, которое хранится в репозитории GIT в VSTS. Когда я проверяю код, он создается, и единица тесты запускается в облаке.

Теперь, если эти модульные тесты пройдут успешно, я бы хотел, чтобы проект был развернут на удаленной машине, на которой установлен агент VSTS. Я вижу агента в веб-интерфейсе VSTS, но не знаю, как получить автоматическую сборку для отправки завершенной сборки в d: / mydeploypath на машине удаленного агента.

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Простой способ - использовать Задача развертывания WinRM-IIS Web App .

Чтобы создать пакет веб-развертывания, вы можете указать эти аргументы в поле Аргументы MSBuild задачи Visual Studio Build:

/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageLocation="$(build.artifactstagingdirectory)" /P:PackageTempRootDir=""

0 голосов
/ 31 августа 2018

Абсолютно возможно!

Для копирования файлов на удаленный компьютер доступны шаги сборки, такие как Copy Files over SSH и Windows Machine File Copy. Но если вы пытаетесь развернуть код на машине, на которой вы строите, вы можете использовать шаг Copy Files, так как он не требует учетных данных. Поскольку это веб-приложение, есть несколько шагов, таких как IIS Utilities, чтобы остановить \ запустить пул приложений, чтобы файлы не были заблокированы для развертывания.

Таким образом, используя шаг сборки Copy Files, вы можете использовать $(Agent.BuildDirectory) в качестве исходного каталога (или куда бы вы ни отправляли выходные данные вашей сборки) и установить целевую папку на желаемое место назначения на машине.

Переменные сборки / выпуска очень помогли мне во время разработки нашего процесса выпуска: https://docs.microsoft.com/en-us/vsts/pipelines/build/variables?view=vsts

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