使用发布配置文件部署到Azure:使用Jenkins在VS2017上发布时失败

时间:2019-05-21 07:31:41

标签: visual-studio azure powershell jenkins publish-profiles

我从App Service下载了发布配置文件,并在WebApi上创建了一个配置文件。

当我使用VS 2017执行“发布”时,效果很好。 当我尝试在Jenkins上执行deploy命令时,如果失败。我收到的错误消息是:

  • 部署任务失败。 (使用Web管理服务连接到远程计算机(“ XXXXXXXX”),但无法授权。
  • 确保站点名称,用户名和密码正确。如果问题仍未解决,请与您的本地或服务器管理员联系。
  • 使用Web管理服务连接到远程计算机(“ xxxxxxxxxxx”),但无法授权。
  • 远程服务器返回错误:(401)未经授权。

我使用PowerShell命令行对Jenkins迈出了一步:

msbuild My.WebApi /P:AllowUntrustedCertificate=true /P:DeployOnBuild=True /p:PublishProfile=$myPublishProfile
  1. 它的构建没有错误
  2. $ myPublishProfile是有效的路径
  3. 此Jenkins实例在服务器上运行,而不是在我的计算机上运行。
  4. Jenkins有其自己的SMC用户和服务器auth用户。
  5. 应用服务已将 WEBSITE_WEBDEPLOY_USE_SCM 设置为 False
  6. 我正在使用相同的发布配置文件在Jenkins和Visual Studio上进行构建。

如果两者都使用相同的发布配置文件,为什么我会收到Auth错误?

要从Jenkins执行Deploy吗,我还有其他配置吗?

1 个答案:

答案 0 :(得分:1)

使用visualstudio发布时,密码存储在磁盘上的加密文件中。如果您需要使用msbuild-command进行发布,则可以在命令行或publishprofile中添加凭据

在命令行上附加这些属性:

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

或包含在个人资料中

<UserName>XXX</UserName>
<Password>YYY</Password>