Quarkus 웹 애플리케이션을 Azure App Service에서 실행
로컬 환경에서 실행
Helidon 때와 같은 환경 을 사용했습니다.
Visual Studio Code
사용한 dockerfile은 다음과 같습니다.
FROM maven:3.8.1-openjdk-11
RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash
이번에도 MicroProfile Starter 에서 프로젝트의 병아리를 만들었습니다.
빌드합니다.
mvn clean package
실행합니다.
java -jar target/demo.jar
아래의 표시가 되었습니다.
Azure에서 실행
그런 다음 Azure에 배포할 준비입니다. 먼저 Azure CLI로 로그인합니다.
az login
그런 다음 pom.xml의 build 섹션에 다음을 추가합니다.
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.13.0</version>
</plugin>
다음 명령을 실행합니다.
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.13.0:config
대화식으로 구성을 듣기 때문에 리눅스, 자바 8을 선택했습니다.
처음 이대로 배포했는데 Quarkus가 제대로 시작되지 않았고 다음 오류가 기록되었습니다.
Caused by: java.lang.ClassNotFoundException: io.quarkus.runtime.Quarkus
조사한 결과 다음 정보가있었습니다.
지금은 잘 모르겠습니다만, Fat Jar가 되어 있지 않은 것 같은? application.properties에 다음을 추가하여 무사히 Azure에서 Quarkus를 시작했습니다.
quarkus.package.uber-jar=true
그리고 손으로 appSettings를 추가하고 있습니다. 이것이 없으면 Quarkus가 실행 중이지만 게시 된 URL에 액세스 할 수 없었습니다.
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.14.0</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<subscriptionId>xxxxx</subscriptionId>
<resourceGroup>demo-xxxxxxxxxxx-rg</resourceGroup>
<appName>demo-xxxxxxxxxx</appName>
<pricingTier>P1v2</pricingTier>
<region>westeurope</region>
<runtime>
<os>Linux</os>
<javaVersion>Java 8</javaVersion>
<webContainer>Java SE</webContainer>
</runtime>
<appSettings>
<property>
<name>PORT</name>
<value>8080</value>
</property>
<property>
<name>WEBSITES_PORT</name>
<value>8080</value>
</property>
<property>
<name>WEBSITES_CONTAINER_START_TIME_LIMIT</name>
<value>900</value>
</property>
</appSettings>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
</plugins>
안전하게 로컬 환경처럼 표시되었습니다.
Reference
이 문제에 관하여(Quarkus 웹 애플리케이션을 Azure App Service에서 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikutaro/items/33be8b3e00ad9eb37b41
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
az login
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.13.0</version>
</plugin>
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.13.0:config
Caused by: java.lang.ClassNotFoundException: io.quarkus.runtime.Quarkus
quarkus.package.uber-jar=true
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.14.0</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<subscriptionId>xxxxx</subscriptionId>
<resourceGroup>demo-xxxxxxxxxxx-rg</resourceGroup>
<appName>demo-xxxxxxxxxx</appName>
<pricingTier>P1v2</pricingTier>
<region>westeurope</region>
<runtime>
<os>Linux</os>
<javaVersion>Java 8</javaVersion>
<webContainer>Java SE</webContainer>
</runtime>
<appSettings>
<property>
<name>PORT</name>
<value>8080</value>
</property>
<property>
<name>WEBSITES_PORT</name>
<value>8080</value>
</property>
<property>
<name>WEBSITES_CONTAINER_START_TIME_LIMIT</name>
<value>900</value>
</property>
</appSettings>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
</plugins>
Reference
이 문제에 관하여(Quarkus 웹 애플리케이션을 Azure App Service에서 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kikutaro/items/33be8b3e00ad9eb37b41텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)