Spring Boot: развертывание в облаке, Heroku

Heroku - еще одна популярная PaaS платформа. Для настройки сборок Heroku вы предоставляете Procfile, который обеспечивает incantation, необходимое для развертывания приложения. Heroku назначает порт для использования приложением Java, а затем гарантирует, что маршрутизация на внешний URI работает.

Вы должны настроить приложение для прослушивания на правильном порту. В следующем примере показан Procfile для нашего начального REST-приложения:

web: java -Dserver.port=$PORT -jar target/demo-0.0.1-SNAPSHOT.jar

Spring Boot делает аргументы -D доступными в качестве свойств, доступных из экземпляра Spring Environment. Свойство конфигурации server.port передается встроенному экземпляру Tomcat, Jetty или Undertow, который затем использует порт при запуске. Переменная окружения $PORT присваивается нам Heroku PaaS.

Это должно быть все, что вам нужно. Наиболее распространенный рабочий процесс развертывания для развертываний Heroku - это отправка (git push) кода в производственный режим, как показано в следующем примере:

$ git push heroku master

Initializing repository, done.
Counting objects: 95, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (78/78), done.
Writing objects: 100% (95/95), 8.66 MiB | 606.00 KiB/s, done.
Total 95 (delta 31), reused 0 (delta 0)

-----> Java app detected
-----> Installing OpenJDK 1.8... done
-----> Installing Maven 3.3.1... done
-----> Installing settings.xml... done
-----> Executing: mvn -B -DskipTests=true clean install

       [INFO] Scanning for projects...
       Downloading: https://repo.spring.io/...
       Downloaded: https://repo.spring.io/... (818 B at 1.8 KB/sec)
        ....
       Downloaded: https://s3pository.heroku.com/jvm/... (152 KB at 595.3 KB/sec)
       [INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/target/...
       [INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/pom.xml ...
       [INFO] ------------------------------------------------------------------------
       [INFO] BUILD SUCCESS
       [INFO] ------------------------------------------------------------------------
       [INFO] Total time: 59.358s
       [INFO] Finished at: Fri Mar 07 07:28:25 UTC 2014
       [INFO] Final Memory: 20M/493M
       [INFO] ------------------------------------------------------------------------

-----> Discovering process types
       Procfile declares types -> web

-----> Compressing... done, 70.4MB
-----> Launching... done, v6
       https://agile-sierra-1405.herokuapp.com/ deployed to Heroku

To git@heroku.com:agile-sierra-1405.git
 * [new branch]      master -> master

После этого приложение должно быть запущено на Heroku.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки