Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Деплой Java: Веб-технологии

После того как сайт написан, его нужно выложить в интернет. Стандартный путь включает три пункта:

  1. Покупка домена
  2. Покупка хостинга и его настройка
  3. Деплой

В этом уроке мы рассмотрим эти пункты более подробно.

Покупка домена

Чтобы приобрести домен, необходимо обратиться в компании-регистраторы. Домен оплачивается раз в год и закрепляется за определенным человеком или компанией.

Иногда хостер и регистратор — одна и та же компания. Тогда домен и сервер связываются одновременно. Иначе нужно производить определенные настройки на стороне сервера и подтверждать свое право владения доменом.

Покупка хостинга и его настройка

Хостинг — это ресурсы для размещения и обслуживания сайта в интернете. Хостинг бывает разным. Это может быть:

  • Уже полностью готовая среда, в которую заливается код сайта
  • Просто железные серверы, которыми можно и нужно управлять самостоятельно

Обычно работа с хостингом выглядит так:

  1. Регистрируемся на сайте хостинга
  2. Выбираем тариф и вид хостинга (On-Prem, IaaS, PaaS, SaaS), привязываем банковскую карту
  3. Получаем доступ к ресурсам — к IP-адресу и паре «логин/пароль» для доступа по SSH и FTP
  4. При необходимости настраиваем хостинг и деплоим проект

Деплой

Деплой — это выкладка новой версии сайта на сервер. Этот процесс может быть довольно сложным и зависит от используемых технологий. Во время деплоя могут выполняться следующие задачи:

  1. Скачиваем код проекта на сервер (обычно через клонирование Git)
  2. Ставим все необходимые зависимости
  3. Выполняем сборку приложения
  4. Выполняем миграции — SQL-скрипты, которые изменяют структуру базы данных
  5. Запускаем новую версию кода

Обсудим самый простой способ начать деплоить. Большинство PaaS-хостеров имеют бесплатные планы, достаточные для выкладки учебных проектов. Их достоинство в том, что вам не придется покупать адрес — домен третьего уровня предоставляется бесплатно.

Для деплоя учебных проектов мы предлагаем использовать Render. Этот сервис поддерживает деплой GitHub-репозиториев. Подробнее об этом вы можете почитать в нашей статье «Что делать, если возникли трудности с деплоем Java-приложения на Railway. Разбираем сервис Render».

Особенности сборки Gradle

Подключив базу данных к нашему приложению, мы добавили в него файл src/main/resources/schema.sql, который затем читается из кода. Когда мы попробуем собрать приложение и запустить на сервере, этот код не сработает, потому что Gradle не копирует файлы из директории src/main/resources в получившийся jar.

Это можно исправить с помощью плагина shadow, который автоматически добавляет все ресурсы в jar:

plugins {
    id("com.github.johnrengelman.shadow") version "8.1.1"
    // Остальные плагины
}

Самостоятельная работа

  1. Зарегистрируйтесь на сервисе render.com
  2. Задеплойте на Render приложение, которое вы писали в течение этого курса

Дополнительные материалы

  1. Как задеплоить Java-приложение на render.com

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 7 ноября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»