Развертывание в Azure с использованием профиля публикации: работает при сбое публикации на VS2017 при использовании Jenkins - PullRequest
0 голосов
/ 21 мая 2019

Я загрузил профиль публикации из моей службы приложений и создал профиль в WebApi.

Когда я выполняю «публикацию» с использованием VS 2017, она работает нормально. Когда я пытаюсь выполнить команду развертывания на Jenkins, если не удается У меня сообщение об ошибке:

  • Задача развертывания не выполнена. (Подключен к удаленному компьютеру («XXXXXXXX») с помощью службы веб-управления, но не может авторизоваться.
  • Убедитесь, что имя сайта, имя пользователя и пароль верны. Если проблема не устранена, обратитесь к местному администратору или администратору сервера.
  • Подключено к удаленному компьютеру ("xxxxxxxxxxx") с помощью службы веб-управления, но не удалось авторизоваться.
  • Удаленный сервер возвратил ошибку: (401) Не авторизован.

У меня есть шаг к Jenkins с использованием командной строки PowerShell, например:

msbuild My.WebApi /P:AllowUntrustedCertificate=true /P:DeployOnBuild=True /p:PublishProfile=$myPublishProfile
  1. Строит без ошибок
  2. $ myPublishProfile - это правильный путь
  3. Этот экземпляр Jenkins работает на сервере, а не на моей машине.
  4. У Jenkins есть свой собственный пользователь SMC и пользователь авторизации на сервере.
  5. Служба приложений имеет WEBSITE_WEBDEPLOY_USE_SCM , установленную на Ложь
  6. Я использую один и тот же профиль публикации для сборки в Jenkins и Visual Studio.

Если оба используют один и тот же профиль публикации, почему я получаю ошибку аутентификации?

Есть ли какая-либо другая конфигурация, которую я должен сделать, чтобы выполнить Deploy от Jenkins?

1 Ответ

1 голос
/ 21 мая 2019

При публикации с использованием visualstudio пароль сохраняется в зашифрованном файле на вашем диске. Если вам нужно опубликовать с помощью команды msbuild, вы можете добавить учетные данные в командной строке или в publishprofile

добавьте эти свойства в командную строку:

msbuild ... /p:UserName=XXX /p:PassWord=YYY

или включить в профиль

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