将其他文件添加到VSTS发布到azure Web应用程序

时间:2018-04-09 20:13:30

标签: azure azure-devops azure-web-sites azure-pipelines-release-pipeline

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

3 个答案:

答案 0 :(得分:3)

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

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

  1. 取消选中使用Azure App Service部署任务的Web部署选项发布
  2. (可选)添加解压缩任务以将zip文件解压缩到工件文件夹中的文件夹(您希望在应用服务中使用的文件夹,例如D:/1/a/mylib
  3. 在包或文件夹输入框中指定文件夹(步骤2的父文件夹以保留文件夹结构)或包(zip)

答案 1 :(得分:0)

您可以使用虚拟应用程序和目录来执行此操作。您可以查看我的步骤。

  1. 转到azure portal - >申请 - >应用程序设置 - >虚拟应用程序和目录
  2. 使用虚拟路径设置虚拟目录:/YourApplicationsite\YourApplicationsite\wwwroot\YourApplication
  3. 转到VSTS->发布选项 - > Deploy Azure App Service任务
  4. 将虚拟应用程序设置为/myApplication
  5. 希望它可以帮到你。

答案 2 :(得分:0)

如果您的 CI 使用 Azure DevOps,那么另一种解决方案是从 Web 根目录压缩您的文件,包括目录结构,并将它们作为“安全文件”添加到 DevOps 中(一旦您在库/安全文件下找到它已配置 Azure KeyVault)。

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

然后添加一个独立的“Azure 应用服务部署”步骤以仅部署此 zip 文件。选择“Zip deploy”的部署方式,并在“Package or folder”部分引用您下载的安全文件,如$(secureFileReferenceName.secureFilePath)

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