【问题标题】:How does Jetty deployment on Azure App Service work?Azure 应用服务上的 Jetty 部署如何工作?
【发布时间】:2017-08-01 21:57:23
【问题描述】:

我有一个在 Azure 应用服务实例上运行的 Java Web 应用。为了部署它,我使用了一个带有 .war 文件的 Bitbucket 存储库。当我向这个 repo 提交一个新的 .war 文件时,它应该由服务自动部署。但是,通常情况下,我必须重新启动、重新部署,甚至通过 FTP 上传 .war 文件才能成功完成部署。

我有一个 Jetty 实例驻留在此服务中,因此我的 .war 文件被命名为 ROOT.war。 AFAIK,当上传到服务时(无论是通过 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 应用程序时在后台发生的情况?

【问题讨论】:

  • 你能在 github 上提出一个关于这个的问题吗?我相信存储库可能是这个:github.com/Azure/azure-sdk-for-java
  • @ThiagoCustodio 我实际上使用的是 Azure 搜索 REST API,所以我只是从我的应用程序发送请求,而不是使用 Azure 提供的任何库。
  • @halileohalilei 我的建议是尝试将完整的文件结构添加到 BitBucket repo 以部署您的应用程序,而不是 webapps 下的 war 文件,例如 repo 中的 webapp/<your app name>/。
  • @ThiagoCustodi 这实际上是 Azure API 应用程序平台问题,而不是 azure-sdk-for-java 问题,可能应该在支持票证中提出。这个问题是已知的(我已亲自与团队讨论过),但显示它影响更多人有助于优先考虑。

标签: java azure deployment jetty azure-api-apps


【解决方案1】:

我遇到了同样的问题。解决方案是在 de deploy 之后调用端点。

  1. 停止 Azure 应用服务。
  2. 在 /webapps 文件夹中部署 ROOT.war 工件。
  3. 启动 Azure 应用服务。
  4. 调用一次应用服务的 URL。

这四个步骤非常重要,开始您之前提到的过程(自动部署)。

我浪费了很多时间来找出问题所在。

【讨论】:

    【解决方案2】:

    因此,Azure API 应用是一种 PAAS,而不是 IAAS 服务。可以通过yoursite.scm.azurewebsites.net访问PaaS平台,可以在CMD或者Powershell中浏览文件系统,可以看到正在运行的进程。这可能感觉就像您在单个 VM 上,但您不是。您在此处看到的数据被复制到您的 API 应用程序实例中。您可以通过扩展 API 应用程序来控制您拥有的实例数量。

    我经常看到您的部署问题,然后 ROOT 为空(在内部工作以查看此问题修复...)。 对我来说每次都有效的最佳方法是停止您的 API 应用程序,手动解压缩您的 ROOT.war。将文件移动到 /ROOT/,然后启动您的 API 应用程序。

    您可以简单地放置ROOT.war,然后在重新打开它时让系统解压它,但这有时会导致ROOT 目录为空,然后需要再次重新启动。

    所有这些都让我转而使用 Spring-Boot。无需拆包。只需配置您的 web.config 并删除 jar 文件。

    https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-java-custom-upload#springboot

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-01
      • 2020-05-02
      • 2019-08-14
      相关资源
      最近更新 更多