До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Код

Что делать, если возникли трудности с деплоем Java-приложения на Railway. Разбираем сервис Render

Java Время чтения статьи ~3 минуты 6
Что делать, если возникли трудности с деплоем Java-приложения на Railway. Раз... главное изображение

Подробно рассказываем, как эффективно работать с сервисом 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, так как он зависит от названия приложения.

Java-разработчик — с нуля до трудоустройства за 10 месяцев
  • Постоянная поддержка от наставника и учебного центра
  • Помощь с трудоустройством
  • Готовое портфолио к концу обучения
  • Практика с первого урока

Вы получите именно те инструменты и навыки, которые позволят вам найти работу

Узнать больше

Работаем с 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 советов, как более эффективно учиться на Хекслете

Аватар пользователя Maksim Litvinov
Maksim Litvinov 25 ноября 2022
6
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября