首页 > 解决方案 > 如何使用 IntelliJ 在 Azure 上部署 Web 应用程序?

问题描述

我正在部署一个使用 IntelliJ 使用 azure 开发的 Web 应用程序。我使用 Azure 的 IntelliJ 工具包,

我有以下结果:

Stopping Web App...
Getting Deployment Credential...
Connecting to FTP server...
Uploading artifact to: /site/wwwroot/app.jar ...
Uploading successfully...
Starting Web App...
Deploy successfully!
URL: https://app.azurewebsites.net

当我点击网址时,我得到:“应用程序错误”,没有进一步的解释。

当我在本地运行我的(弹簧)应用程序时,一切正常。我的测试也运行良好。

我可以尝试什么来解决这个问题?我没有堆栈跟踪或诊断,所以我不知道从哪里开始。

编辑:

2019-01-09 08:32:55.358 INFO  - Starting container for site
2019-01-09 08:32:55.359 INFO  - docker run -d -p 42072:80 --name productidentifier_0 -e WEBSITE_SITE_NAME=productidentifier -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=7b3a533f561e7e09c1c0a936ab27adabbffe4ec239df09d0c46775c50b146a87 appsvc/java:8-jre8_0000000000  

2019-01-09 08:32:55.362 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-01-09 08:33:09.102 ERROR - Container productidentifier_0 for site productidentifier has exited, failing site start
2019-01-09 08:33:10.855 INFO  - Issuing docker pull: imagename =appsvc/java:8-jre8_0000000000
2019-01-09 08:33:11.645 INFO  - docker pull returned STDOUT>> 8-jre8_0000000000: Pulling from appsvc/java
Digest: sha256:8d261d28da96cb59f1573ab9b0c826c642f47de9e290fd630f69448adca29dfd
Status: Image is up to date for 10.0.5.3:13209/appsvc/java:8-jre8_0000000000

2019-01-09 08:33:11.884 INFO  - Starting container for site
2019-01-09 08:33:11.885 INFO  - docker run -d -p 34512:80 --name productidentifier_0 -e WEBSITE_SITE_NAME=productidentifier -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=7b3a533f561e7e09c1c0a936ab27adabbffe4ec239df09d0c46775c50b146a87 appsvc/java:8-jre8_0000000000  

2019-01-09 08:33:11.886 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-01-09 08:33:22.361 ERROR - Container productidentifier_0 for site productidentifier has exited, failing site start
2019-01-09 09:26:19.660 INFO  - Issuing docker pull: imagename =appsvc/java:8-jre8_0000000000
2019-01-09 09:26:20.311 INFO  - docker pull returned STDOUT>> 8-jre8_0000000000: Pulling from appsvc/java
Digest: sha256:8d261d28da96cb59f1573ab9b0c826c642f47de9e290fd630f69448adca29dfd
Status: Image is up to date for 10.0.5.3:13209/appsvc/java:8-jre8_0000000000

我找到了这个,这对我有什么帮助吗?似乎 docker 没有按应有的方式启动?

标签: javaazureintellij-ideaazure-active-directory

解决方案


根据您的描述,听起来您正在将 SpringBoot 应用程序作为可运行的 jar 文件部署到适用于 Linux 的 Azure 应用服务,这与从 IntelliJ 中的 Java Web 项目构建的 war 文件的部署不同。

Azure Toolkit for IntelliJ 的官方教程有两个,分别介绍了如何在 Azure App Service for Linux 上部署 war 文件或 jar 文件。

  1. 使用 Azure Toolkit for IntelliJ 将 Hello World Web 应用部署到云中的 Linux 容器
  2. 使用 Azure Toolkit for IntelliJ 将 Spring Boot 应用发布为 Docker 容器

我认为上面的第二个教程适合您当前的场景,请按照它检查您的部署步骤再试一次。


推荐阅读