如何使用 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(使用应用服务环境)