VSTS到Azure Tomcat 8 Web应用程序部署

VSTS到Azure Tomcat 8 Web应用程序部署,azure,tomcat,azure-devops,azure-web-app-service,azure-pipelines-release-pipeline,Azure,Tomcat,Azure Devops,Azure Web App Service,Azure Pipelines Release Pipeline,如何使用VSTS版本将war文件部署到运行Tomcat的Azure Web应用程序?我在VSTS设置中有一个CI/CD管道,在提交代码时进行构建,然后在构建完成时发布新的war文件并将其推送到Azure。问题是,war文件被部署到\site\wwwroot\webapps,而不是\site\wwwroot\bin\apache-tomcat-8.5.24\webapps,需要将其作为应用程序拉入tomcat 我尝试在Azure中设置一个虚拟应用程序,并在部署任务中引用该应用程序,但是我没有获得所

如何使用VSTS版本将war文件部署到运行Tomcat的Azure Web应用程序?我在VSTS设置中有一个CI/CD管道,在提交代码时进行构建,然后在构建完成时发布新的war文件并将其推送到Azure。问题是,war文件被部署到\site\wwwroot\webapps,而不是\site\wwwroot\bin\apache-tomcat-8.5.24\webapps,需要将其作为应用程序拉入tomcat


我尝试在Azure中设置一个虚拟应用程序,并在部署任务中引用该应用程序,但是我没有获得所需的行为。通过使用虚拟应用程序选项,我已经能够影响已交付war文件的名称(不是我的目标)和文件交付的子目录,尽管不是Tomcat目录下的webapps目录。我缺少哪些选项?

您可以通过Kudu API上传/复制文件

有关如何在构建/发布期间调用Kudu API的详细信息,请参阅此线程:


顺便说一句,默认情况下,war文件应该位于site\wwwroot\webapps中

您可以尝试编写脚本将文件复制到
\site\wwwroot\bin\apache-tomcat-8.5.24\webapps
,并在管道中运行该脚本。>顺便说一句,默认情况下,war文件应位于site\wwwroot\webapps中。<我希望如此,因为Azure发布过程会将其删除。如果它是这样的话,我就不需要在这里发帖了。在/site/wwwroot/webapps中删除war没有任何作用。战争爆发的唯一方式是我手动将其放入/site/wwwroot/bin/apache-tomcat-8.5.24/webapps。奇怪的是,当部署到部署槽时,它工作正常!Azure将war部署到我的“测试”部署槽中的/site/wwwroot/webapps,战争爆发了。我很困惑,为什么部署到默认的“生产”部署槽时,war不会以同样的方式爆炸,我必须将其移动到/site/wwwroot/bin/apache-tomcat-8.5.24/webapps才能正常工作。你是说war文件已部署到/site/wwwroot/bin/apache-tomcat-8.5.24/webapps部署槽吗?您可以共享这些发布日志吗?在部署槽中,如果通过FTP进入,则无法访问路径/site/wwwroot/bin/apache-tomcat-8.5.24/webapps。在部署槽中,我将war放在/site/wwwroot/webapps中,它就可以工作了。在生产槽中,如果通过FTP进入,路径/site/wwwroot/bin/apache-tomcat-8.5.24/webapps是可访问的,这是部署应用程序的唯一方法,即将其放入/site/wwwroot/webapps中似乎不起作用。