Здравствуйте!
Продолжаю серию публикаций по проекту
Maven/Spring/Security/JPA(Hibernate)/Rest(Jackson)/ Bootstrap(CSS)/ jQuery+plugins
(исходный код на GitHub).
Предыдущие публикации:
- По следам Spring Pet Clinic. Maven/ Spring Context/ Spring Test/ Spring ORM/ Spring Data JPA
- Тестируем Spring Rest контроллеры: проще, короче, надежнее. Spring Security Test + JSON Matcher
- Spring Security 4 + CSRF (добавление в Spring проект защиты от межсайтовой подделки запроса)
Заключительная часть проекта: деплой в облачную PaaS-платформу Heroku
Инструкция по шагам (из видео):
- Сделать аккаунт на Heroku;
- Создать в нем Personal App и подсоединить его к вашему проекту в GitHub;
- Добавить Add-ons: базу данных;
- Создать Data Source к базе в IDEA, креденшелы базы взять из переменной окружения DATABASE_URL;
- В DataSource -> Advanced добавить ssl=true, sslfactory=org.postgresql.ssl.NonValidatingFactory;
- Запустить sql-скрипт инициализации на базу Heroku;
- Сконфигурировать Heroku в проекте:
- Добавить в pom.xml зависимость на webapp-runner;
- Задать профили Maven для запуска в Heroku в settings.xml;
- Создать Procfile;
- Сконфигурировать в Spring dataSource для базы Heroku;
- Протестировать действия Heroku локально через .bat (.sh);
- Сделать commit+push в GitHub ;
- Опционально:
- Для просмотра лога приложения установить Heroku Toolbelt;
- Если в приложении есть внешние ресурсы, доступные через переменную окружения, сконфигурировать ее в Heroku: Settings->Config Vars-> PROJECT_ROOT=/app
- Сконфигурировать ERROR_PAGE_URL
- Подключить Heroku в IDEA: добавить плагин и сгенерированные ключи
- Сделать manual deploy из GitHub в Heroku;
- Запустить в браузере: [имя_вашего_приложения].herokuapp.com
- Не забыть себя поздравить: теперь ваши приложение увидит весь мир:)
Ну и последнее: несколько ресурсов по Heroku и сравнению PaaS
- Развертывание приложений Java с помощью PaaS от Heroku
- Find your Platform as a Service
- A Java Developer’s Guide to PaaS
- Java PaaS shootout
Спасибо за внимание!