Подробно рассказываем, как эффективно работать с сервисом Render для деплоя Java-приложений.
Если не получается задеплоить Java-приложение на Railway, мы рекомендуем попробовать альтернативный сервис для деплоя Java-приложений — Render. Нам потребуется упаковать Java-приложение в контейнер, для этого нужно будет добавить Dockerfile — текстовый файл с инструкциями, необходимыми для создания образа контейнера.
Создаем Dockerfile
Создайте в корне своего приложения Dockerfile. Добавьте в него следующий код:
FROM gradle:7.4.0-jdk17
WORKDIR /app
COPY /app .
RUN gradle installDist
CMD ./build/install/app/bin/app
Образец этого файла можно также посмотреть в нашем эталонном проекте. Единственное, что может отличаться — путь к исполняемому файлу приложения в инструкции CMD
, так как он зависит от названия приложения.
- Постоянная поддержка от наставника и учебного центра
- Помощь с трудоустройством
- Готовое портфолио к концу обучения
- Практика с первого урока
Вы получите именно те инструменты и навыки, которые позволят вам найти работу
Узнать большеРаботаем с Render
Зарегистрируйтесь в сервисе Render. После регистрации на вкладке Dashboard
вы сможете добавлять новые приложения — веб-сервисы и базы данных.
Так как наше приложение использует базу данных, сначала нужно ее создать. Создайте базу данных PostgreSQL (New → PostgreSQL
), дайте ей имя, которое будет отображаться в панели. Нажмите кнопку Create database
.
После того, как вы создадите базу данных, вам станут доступны сведения о подключении к БД (Connections
). Скопируйте эту информацию — Hostname, Port, Database, Username, Password . Эти данные пригодятся, когда вы будете задавать переменные окружения для приложения.
Теперь можно приступать к созданию нового приложения. Создайте новое веб-приложение (New → Web Service
). Подключите свой GitHub-репозиторий или вставьте его URL, после чего нажмите Connect.
Заполните поля с настройками приложения. В поле Name
задайте имя для своего приложения. Поле Root Directory
оставьте пустым, так как Dockerfile находится в корне проекта. В Environment
выбираем Docker в качестве среды выполнения проекта, а в Region
— ближайший к вам регион. Обратите внимание, что веб-сервис и база данных должны находиться в одном регионе.
Для корректной работы приложения нужно задать значение для переменных окружения, которые зависят от настроек вашего приложения. В любом случае, нам понадобится передать приложению параметры для подключения к базе данных. Это делается с помощью переменных окружения. Разверните вкладку с расширенными настройками приложения (Advanced
), создайте необходимые переменные окружения и задайте им значения. Здесь нам пригодятся те сведения, которые мы скопировали в базе данных — Hostname
, Port
, Database
, Username
, Password
. Пример настройки переменных окружения можно увидеть на скриншоте:
Обратите внимание на формат записи URL у базы данных. Он должен быть таким:
jdbc:postgresql://${HOST}:${DB_PORT}/${DATABASE}?password=${PASSWORD}&user=${USERNAME}
Все необходимые данные для определения переменных окружения и формирования этого адреса можно взять из поля Connections
в базе данных.
После этого надо будет нажать на кнопку Create Web Service
. Ваше приложение будет клонировано из репозитория, собрано и запущено. После завершения процесса оно станет доступно по определенному адресу, который автоматически сформируется. Перейдите по этому адресу и проверьте, что приложение работает корректно. Если что-то пошло не так, всегда можно посмотреть логи на вкладке Logs
. Они помогут вам разобраться с ошибкой.
Читайте также: 10 советов, как более эффективно учиться на Хекслете