Развертывание приложения Quarkus по проблеме героку

Я создал приложение Quarkus.

Исходный код находится по адресу https://github.com/ashusharmatech/quarkus-welcome-app

Я пытаюсь развернуть это приложение на платформе Heroku.

Мое приложение правильно собирает там, следуя журналам сборки:

-----> Java app detected
-----> Installing JDK 1.8... done
-----> Executing Maven
       $ ./mvnw -DskipTests clean dependency:list install
       [INFO] Scanning for projects...
       [WARNING] 
       [WARNING] Some problems were encountered while building the effective model for com.rest:rest:jar:1.0.0-SNAPSHOT
       [WARNING] 'build.plugins.plugin.version' for com.heroku.sdk:heroku-maven-plugin is missing. @ line 50, column 15
       [WARNING] 
       [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
       [WARNING] 
       [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
       [WARNING] 
       [INFO] 
       [INFO] ---------------------------< com.rest:rest >----------------------------
       [INFO] Building rest 1.0.0-SNAPSHOT
       [INFO] --------------------------------[ jar ]---------------------------------
       [INFO] 
       [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ rest ---
       [INFO] 
       [INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ rest ---
       [INFO] 
       [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rest ---
       [INFO] Using 'UTF-8' encoding to copy filtered resources.
       [INFO] Copying 2 resources
       [INFO] 
       [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ rest ---
       [INFO] Changes detected - recompiling the module!
       [INFO] Compiling 1 source file to /tmp/build_dee8d9fdefa09e7c7223ce42aa750f3e/target/classes
       [INFO] 
       [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ rest ---
       [INFO] Using 'UTF-8' encoding to copy filtered resources.
       [INFO] skip non existing resourceDirectory /tmp/build_dee8d9fdefa09e7c7223ce42aa750f3e/src/test/resources
       [INFO] 
       [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ rest ---
       [INFO] Changes detected - recompiling the module!
       [INFO] Compiling 2 source files to /tmp/build_dee8d9fdefa09e7c7223ce42aa750f3e/target/test-classes
       [INFO] 
       [INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ rest ---
       [INFO] Tests are skipped.
       [INFO] 
       [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ rest ---
       [INFO] Building jar: /tmp/build_dee8d9fdefa09e7c7223ce42aa750f3e/target/rest-1.0.0-SNAPSHOT.jar
       [INFO] 
       [INFO] --- quarkus-maven-plugin:1.2.1.Final:build (default) @ rest ---
       [INFO] [org.jboss.threads] JBoss Threads version 3.0.0.Final
       [INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building thin jar: /tmp/build_dee8d9fdefa09e7c7223ce42aa750f3e/target/rest-1.0.0-SNAPSHOT-runner.jar
       [INFO] [io.quarkus.deployment.QuarkusAugmentor] Quarkus augmentation completed in 2745ms
       [INFO] 
       [INFO] --- maven-install-plugin:2.4:install (default-install) @ rest ---
       [INFO] Installing /tmp/build_dee8d9fdefa09e7c7223ce42aa750f3e/target/rest-1.0.0-SNAPSHOT.jar to /app/tmp/cache/.m2/repository/com/rest/rest/1.0.0-SNAPSHOT/rest-1.0.0-SNAPSHOT.jar
       [INFO] Installing /tmp/build_dee8d9fdefa09e7c7223ce42aa750f3e/pom.xml to /app/tmp/cache/.m2/repository/com/rest/rest/1.0.0-SNAPSHOT/rest-1.0.0-SNAPSHOT.pom
       [INFO] ------------------------------------------------------------------------
       [INFO] BUILD SUCCESS
       [INFO] ------------------------------------------------------------------------
       [INFO] Total time:  9.657 s
       [INFO] Finished at: 2020-03-18T16:53:26Z
       [INFO] ------------------------------------------------------------------------
-----> Discovering process types
       Procfile declares types -> web
-----> Compressing...
       Done: 58.6M
-----> Launching...
       Released v9
       https://quarkus-welcome-app.herokuapp.com/ deployed to Heroku

Когда я пытаюсь запустить приложение, используя URL-адрес https://quarkus-welcome-app.herokuapp.com/

Он не работает и дает ошибку ниже:

2020-03-18T16:55:41.875986+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/welcome" host=quarkus-welcome-app.herokuapp.com request_id=d67655f1-fc5b-4074-a2ae-aa21c55f8ac1 fwd="103.252.52.43" dyno= connect= service= status=503 bytes= protocol=https
2020-03-18T16:55:42.873880+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=quarkus-welcome-app.herokuapp.com request_id=a8f907ec-fca8-4c71-ba21-11c56941fd86 fwd="103.252.52.43" dyno= connect= service= status=503 bytes= protocol=https

Я предполагаю, что эта проблема возникает из-за того, что что-то не так с командой Procfile.

web: java $JAVA_OPTS -jar target/classes:target/*-runner.jar

Пожалуйста, дайте мне знать, как запустить это приложение на Heroku.


person Ashu    schedule 18.03.2020    source источник
comment
Я совсем не знаю Heroku, но две вещи: 1 / вам также необходимо развернуть каталог lib / 2 / вам нужно запустить приложение с java -jar xxx-runner.jar   -  person Guillaume Smet    schedule 18.03.2020
comment
Привет @GuillaumeSmet, я пробовал с java -jar xxx-runner.jar. Это тоже не работает. Я обновил вопрос.   -  person Ashu    schedule 18.03.2020
comment
Вы должны удалить часть target/classes:. Это должно быть java $JAVA_OPTS -jar target/*-runner.jar.   -  person Guillaume Smet    schedule 18.03.2020


Ответы (1)


Я нашел проблему. Я не привязывал процесс к правильному порту. Правильное содержание файла будет:

web: java -Dquarkus.http.port=$PORT $JAVA_OPTS -jar target/*-runner.jar
person Ashu    schedule 18.03.2020