如何将 Spring 启动(可执行 Jar)部署到 Azure 应用服务
How to deploy a Spring Boot (Executable Jar) to Azure App Service
问题是目前 Azure 支持将 WAR 文件部署到 Tomcat。 Spring Boot 确实支持通过 WAR 进行部署,但这抵消了使用 Spring Boot 的一些好处。
第一个问题是您需要一种方法来向服务传达您正在尝试的内容 运行。这可以通过将 web.config
添加到应用程序服务的 site\wwwroot 文件夹来处理。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%JAVA_HOME%\bin\java.exe"
arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar "%HOME%\site\wwwroot\@project.artifactId@-@project.version@.jar"">
</httpPlatform>
</system.webServer>
</configuration>
为了让 web.config 远离 src
我更喜欢将它放在 {project root}/wwwroot
下
使用 Maven,您可以添加以下内容并在包中动态包含一个项目/发布。
<build>
<resources>
<resource>
<directory>${project.basedir}/wwwroot</directory>
<filtering>true</filtering>
<targetPath>${basedir}/target</targetPath>
</resource>
</resources>
</build>
现在将 jar
文件和 web.config
放在 Azure 应用服务中。
如果您使用的是 VSTS,则需要 3 个任务
任务 1:停止 Azure 应用程序
任务 2:FTP 或 SSH 将 jar
和 web.config
上传到应用程序服务
任务 3:启动应用服务。
在 wwwroot 文件夹下添加 web.config,在 web.config 中输入您的 jar 名称。完成后,将所需的 jar 上传到同一文件夹。要通过 FTP 上传它,您需要先在 Azure
中 AppService 下的凭据 blade 下设置凭据
问题是目前 Azure 支持将 WAR 文件部署到 Tomcat。 Spring Boot 确实支持通过 WAR 进行部署,但这抵消了使用 Spring Boot 的一些好处。
第一个问题是您需要一种方法来向服务传达您正在尝试的内容 运行。这可以通过将 web.config
添加到应用程序服务的 site\wwwroot 文件夹来处理。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%JAVA_HOME%\bin\java.exe"
arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar "%HOME%\site\wwwroot\@project.artifactId@-@project.version@.jar"">
</httpPlatform>
</system.webServer>
</configuration>
为了让 web.config 远离 src
我更喜欢将它放在 {project root}/wwwroot
使用 Maven,您可以添加以下内容并在包中动态包含一个项目/发布。
<build>
<resources>
<resource>
<directory>${project.basedir}/wwwroot</directory>
<filtering>true</filtering>
<targetPath>${basedir}/target</targetPath>
</resource>
</resources>
</build>
现在将 jar
文件和 web.config
放在 Azure 应用服务中。
如果您使用的是 VSTS,则需要 3 个任务
任务 1:停止 Azure 应用程序
任务 2:FTP 或 SSH 将 jar
和 web.config
上传到应用程序服务
任务 3:启动应用服务。
在 wwwroot 文件夹下添加 web.config,在 web.config 中输入您的 jar 名称。完成后,将所需的 jar 上传到同一文件夹。要通过 FTP 上传它,您需要先在 Azure
中 AppService 下的凭据 blade 下设置凭据