如何使用 Azure App 服务部署任务通过 VSTS 将多个 jar 文件上传到 Azure

Posted

技术标签:

【中文标题】如何使用 Azure App 服务部署任务通过 VSTS 将多个 jar 文件上传到 Azure【英文标题】:How to upload multiple jar files into Azure through VSTS using Azure App service deploy task 【发布时间】:2017-11-02 13:44:10 【问题描述】:

如何使用 Azure App 服务部署任务通过 VSTS 将多个 jar 文件部署到 Azure。目前我正在使用 azure app service deploy 任务部署 War 文件,但我无法部署 jar 文件。它抛出错误。任务名称是:Azure 应用服务部署。我尝试使用这种模式进行部署:$(System.DefaultWorkingDirectory)/project_name/drop/*.jar 和 $(System.DefaultWorkingDirectory)/project_name/drop/jarfile.jar

我在发布定义时正在运行 azure 应用服务部署任务。

两种模式都不起作用。抛出错误。

那么任何人都可以帮助我完成这项任务吗?

错误:

当我在 VSTS 中的 azure 应用服务部署任务中的包或文件夹选项中提供以下模式时出现错误。

$(System.DefaultWorkingDirectory)/project_name/drop/*.jar

Error:
More than one package matched with specified pattern. Please restrain the search pattern.


Error getting when I am giving the below pattern in package or folder option in azure app service deploy task in VSTS.

$(System.DefaultWorkingDirectory)/project_name/drop/jarfile.jar


 [command]"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package='d:\a\r1\a\project_name\drop\direcotry1\target\jarfile.jar' -dest:contentPath='abc-dev',ComputerName='https://abc-dev.scm.azurewebsites.net:443/msdeploy.axd?site=abc-dev',UserName='********',Password='********',AuthType='Basic' -enableRule:DoNotDeleteRule -userAgent:VSTS_f2463a61-0e8b-4b3a-841d-15b916aae127_release_4_236_570_1
2017-11-02T11:12:56.6532444Z ##[error]Failed to deploy web package to App Service.
2017-11-02T11:12:56.6542438Z ##[error]Error: Package file 'd:\a\r1\a\project_name\drop\direcotry1\target\jarfile.jar' does not have a .zip file name extension.
Error count: 1.

请帮我解决这个问题。如何给出上传多个 jar 文件的模式。

【问题讨论】:

【参考方案1】:

取消选中Azure App Service Deploy任务的Additional Deployment options部分中的Publish using Web Deploy选项,然后在中指定文件夹路径>包或文件夹输入框。

更新:

如果该文件夹中有一些文件您不想部署到 azure 应用服务,您可以通过Copy Filetasks 将必要的文件复制到另一个文件夹

更新:

【讨论】:

您好 MSFT,使用 Web 部署选项发布已取消选中。我有 3 个文件夹和 4 个脚本文件。其中我只需要部署位于 $(System.DefaultWorkingDirectory)/project_name/ 中的 3 个 jar 文件drop/folder1/jar1.jar $(System.DefaultWorkingDirectory)/project_name/drop/folder2/jar2.jar $(System.DefaultWorkingDirectory)/project_name/drop/folder3/jar3.jar 我只想复制上面的3个罐子,不要'不想在放置文件夹中复制其他脚本文件和文件夹。 HI MSFT,请您回复我的请求。 您好 MSFT,我需要部署到 /site/libs 下的 azure app 服务。为此我需要添加订阅权限。所以通常我选择订阅部分并部署战争文件,但在这里jars 文件需要正确部署。无论您回答什么是为了复制到部署文件夹,但我想部署到这个位置 /site/libs 下的 kudu azure 门户中。还有一件事我在 libs 文件夹中有许多其他 jar 文件.我不想删除那些jar文件。只需要删除site/libs下的jar1,jar2,jar3文件并需要部署最新的jar。但不想删除lib中的其他jar @PDBRPRAVEEN 默认情况下,app服务文件夹是site\wwwroot,你改成site\libs了吗?提供可视化应用程序和目录的详细设置。 (在 azure 门户中选择应用服务 => 应用程序设置)。另一方面,复制文件任务用于复制文件,您还需要添加应用服务部署任务才能将文件发布到 azure。 是的,我需要部署到 site/libs 文件夹。在应用程序设置下我可以看到:/site\wwwroot Application...此行仅在虚拟应用程序和目录下配置。我正在使用应用服务仅部署任务,但不知道如何将多个 jar 文件部署到 azure。这就是为什么问你模式。请帮助我。

以上是关于如何使用 Azure App 服务部署任务通过 VSTS 将多个 jar 文件上传到 Azure的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure 上部署 Asp.NET Core Web App

如何将容器blob下载到Azure App Service wwwroot?

通过 IP 地址连接到 Azure Web App(使用应用服务环境)

我们如何使用管道将azure devops中的应用程序部署到具有不同订阅和组织的azure app服务

React App 部署到 Azure 应用服务后失败

Azure 应用服务App Service 部署txt静态文件和Jar包在不同目录中的解决办法