我有一个Java Web应用程序,运行在Azure App Service实例上。我使用Bitbucket仓库中的.war文件进行部署。当我提交新的.war文件到这个仓库时,该服务应该自动部署它。然而,更多情况下,我必须重新启动、重新部署或甚至通过FTP上传.war文件才能成功完成部署。
我在这个服务中只有一个Jetty实例,因此我的.war文件名为ROOT.war。据我所知,当上传到服务中(无论是通过Bitbucket还是FTP),这个.war文件应该被解压缩到相同的目录,即/site/wwwroot/webapps。但在我的情况下,这并没有发生。Web应用程序能够使用仅坐落于/site/wwwroot/webapps下的ROOT.war文件。并且每隔一段时间,我会在/site/wwwroot/webapps下获得一个ROOT文件夹,里面包含两个默认文件index.jsp和background.png。我不知道是什么原因导致ROOT文件夹出现这些默认文件。唯一的线索是,这种情况曾在我更改环境变量后几次发生。
此外,在ROOT文件夹出现空服务器文件后,我唯一能够重新部署应用程序的方法是通过FTP或门户提供的控制台手动删除这个ROOT文件夹,然后我的重新部署请求才能成功。
因此,如果不够清楚,我的问题是:这到底是怎么回事?我无法理解我面对的行为。我感觉自己在盲目地使用Azure服务,当出现问题时无法进行修复。是否有任何资源可以解释Web应用程序部署时后台发生的事情?
我在这个服务中只有一个Jetty实例,因此我的.war文件名为ROOT.war。据我所知,当上传到服务中(无论是通过Bitbucket还是FTP),这个.war文件应该被解压缩到相同的目录,即/site/wwwroot/webapps。但在我的情况下,这并没有发生。Web应用程序能够使用仅坐落于/site/wwwroot/webapps下的ROOT.war文件。并且每隔一段时间,我会在/site/wwwroot/webapps下获得一个ROOT文件夹,里面包含两个默认文件index.jsp和background.png。我不知道是什么原因导致ROOT文件夹出现这些默认文件。唯一的线索是,这种情况曾在我更改环境变量后几次发生。
此外,在ROOT文件夹出现空服务器文件后,我唯一能够重新部署应用程序的方法是通过FTP或门户提供的控制台手动删除这个ROOT文件夹,然后我的重新部署请求才能成功。
因此,如果不够清楚,我的问题是:这到底是怎么回事?我无法理解我面对的行为。我感觉自己在盲目地使用Azure服务,当出现问题时无法进行修复。是否有任何资源可以解释Web应用程序部署时后台发生的事情?
webapps
下,例如存储库中的webapp/<your app name>/
。 - Peter Pan