向azure web app的VSTS版本添加其他文件

向azure web app的VSTS版本添加其他文件,azure,azure-devops,azure-web-app-service,azure-pipelines-release-pipeline,Azure,Azure Devops,Azure Web App Service,Azure Pipelines Release Pipeline,我在VSTS中发布了一个将我的webapp部署到azure应用程序服务的版本。为此,我使用Azure应用程序服务部署步骤。在webapp的正常部署之后,我想从另一个构建结果中添加一个额外的zip工件。我只想将这些文件复制到azure上web应用程序的特定路径。我该怎么做呢?你可以使用虚拟应用程序和目录来做。你可以查看我的步骤 转到azure门户->应用程序->应用程序设置->虚拟应用程序和目录 使用虚拟路径将虚拟目录设置为:/YourApplication到site\YourApplicatio

我在VSTS中发布了一个将我的webapp部署到azure应用程序服务的版本。为此,我使用Azure应用程序服务部署步骤。在webapp的正常部署之后,我想从另一个构建结果中添加一个额外的zip工件。我只想将这些文件复制到azure上web应用程序的特定路径。我该怎么做呢?

你可以使用虚拟应用程序和目录来做。你可以查看我的步骤

  • 转到azure门户->应用程序->应用程序设置->虚拟应用程序和目录
  • 使用虚拟路径将虚拟目录设置为:
    /YourApplication
    site\YourApplication
    site\wwwroot\YourApplication
  • 转到VSTS->发布选项->部署Azure应用程序服务任务
  • 将虚拟应用程序设置为
    /myApplication

  • 希望它能帮助您。

    如果zip文件是web部署包,您可以参考Joy的答案。(需要检查应用程序选项)

    否则,简单的方法是使用Kudu REST API(保留文件夹结构),步骤:

  • 取消选中Azure应用程序服务部署任务的“使用Web部署发布”选项
  • (可选)添加解压任务以将zip文件解压缩到工件文件夹中的文件夹(应用程序服务中需要的文件夹,例如
    D:/1/a/mylib
  • 在文件包或文件夹输入框中指定文件夹(步骤2的父文件夹以保持文件夹结构)或文件包(zip)

  • 如果将Azure DevOps用于您的CI,则另一种解决方案是从web根目录压缩您的文件(包括目录结构),并将其作为“安全文件”添加到DevOps中(配置Azure KeyVault后,请在库/安全文件下查找)

    然后添加管道任务以将安全文件下载到生成服务器(使用“下载安全文件”任务)。请确保为此任务添加“引用名称”,以便在以后的步骤中引用下载的文件路径

    然后添加一个独立的“Azure应用程序服务部署”步骤以仅部署此zip文件。选择“Zip部署”的部署方法,并在“包或文件夹”部分中引用下载的安全文件,如
    $(secureFileReferenceName.secureFilePath)


    这将有效地将zip文件从安全存储下载到生成代理,并将其解压缩到应用程序服务中的wwwroot。

    如何使用任务?是的,我必须在webapp的特定文件夹中复制zip文件。因此,我添加了一个额外的部署任务,并删除了Webdeploy选项。有没有办法从web应用程序中指定一个特定的文件夹?@cpiock只保留文件夹结构,例如,您希望将zip文件放在app service(wwwroot\mylib)中的mylib文件夹中,然后添加复制文件任务将zip文件复制到工件文件夹(xxx/a/mylib)中的mylib文件夹中,然后指定$(Build.ArtifactStagingDirectory)在Azure应用程序服务部署任务的包或文件夹输入框中,部署后,zip文件将位于应用程序服务中的mylib文件夹中。您可以通过访问
    https://{app service name}.scm.azurewebsites.net/DebugConsole
    (site>wwwroot)来检查文件