【问题标题】:Deploy to Azure Web App Virtual Application with Visual Studio Online Source Control Integration使用 Visual Studio 在线源代码控制集成部署到 Azure Web App 虚拟应用程序
【发布时间】:2016-04-15 21:57:53
【问题描述】:

我们有一个 Azure Web 应用程序,我们通过内置的 Azure 功能与 Visual Studio Online 进行源代码控制集成设置。当然,这会在我们的 Visual Studio Online 帐户中创建构建定义。我们已经对此进行了配置,并且可以通过排队构建来部署我们的网站。

我们的最终配置是实际创建一个虚拟应用程序并使用构建部署到虚拟应用程序而不是 Web 应用站点根目录。

因此,我们在门户中创建了虚拟应用程序。看截图:

我们的麻烦在于我们无法将构建定义实际部署到这个虚拟应用程序。构建要么失败,要么文件仍然在 site\wwwroot 文件夹中。

我们的 azure web 应用名称是:inyoforum(staging)

我们尝试了以下 MSBuild 参数的多种变体: /p:DeployIisAppPath="inyoforum__Staging/Forum"

/p:DeployIisAppPath="inyoforum__Staging\Forum"

/p:DeployIisAppPath="inyoforum(staging)/Forum"

/p:DeployIisAppPath="inyoforum(staging)\Forum"

我们甚至尝试了其他变体。我们尝试使用发布配置文件。我们可以从本地 Visual Studio 应用程序发布到虚拟应用程序,但我们无法从构建定义中做到这一点。

对其他尝试有什么建议吗?

【问题讨论】:

    标签: azure msbuild azure-web-app-service azure-devops


    【解决方案1】:

    您可以创建发布配置文件以将网站发布到虚拟应用程序并在 MSBuild Arguments 中指定配置文件。步骤如下:

    1. 根据此处的说明创建发布配置文件:Deploying multiple virtual directories to a single Azure Website
    2. 签入发布配置文件。
    3. 创建一个新的构建定义并在 MSBuild 参数中输入以下字符串:

      /p:DeployOnBuild=true /p:PublishProfile=xxxx.pubxml

    4. 使用定义对新构建进行排队,网络应用将部署到虚拟应用。

    您还可以安装MSDeploy Package Sync 任务并使用它来部署到虚拟应用程序。详情请参考这篇文章:CUSTOM DEPLOY TASK TO DEPLOY VIRTUAL APPLICATIONS TO AZURE

    【讨论】:

    • 谢谢!这主要是有效的。我还必须将密码添加到参数中。我是通过从 Azure 下载发布配置文件设置获得的。 /p:DeployOnBuild=true /p:PublishProfile=xxxx.pubxml /p:Password=xxxx
    【解决方案2】:

    我遇到了同样的问题,发现 MSDeploy PowerShell 脚本不支持虚拟目录。所以我创建了一个自定义部署任务来支持这个用例。试试看——

    https://dotnetcatch.com/2016/03/22/vsts-release-custom-deploy-task-to-deploy-virtual-applications-to-azure/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多