| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
В этом домашнем задании мы научимся обрабатывать строку запроса и выполнять деплой приложения. Деплой — процесс выкладки приложения на сервер (или сервера). В результате к приложению можно получить доступ через браузер. Для выполнения домашнего задания понадобится аккаунт на Railway.
Реализуйте логику метода doGet(), который должен отображать список компаний в зависимости от параметров запроса. Список всех доступных компаний генерируется методом getCompanies() (уже импортирован в модуль). При выводе списка компаний, сортировать их дополнительно не требуется.
Если строка запроса содержит параметр search, то должен выводиться список только тех компаний, которые содержат в имени переданное значение.
http://localhost:8000/companies?search=ov
Cartwright-Glover and Sons
Hermann, Macejkovic and Brekke Group
Если значение параметра search отсутствует в именах компаний, то должна выводиться строка Companies not found.
http://localhost:8000/companies?search=tl
Companies not found
В случае отсутствия в строке запроса параметра search или если значением является пустая строка — должны выводиться все компании. Подробнее смотрите примеры.
http://localhost:8000/companies?search=
http://localhost:8000/companies
<список полностью всех компаний>
В процессе деплоя railway с помощью gradle будет запускать задачу stage, которую необходимо создать. В простейшем случае задача stage должна выполнять установку приложения (задачу install), но без запуска тестов — это можно сделать вызвав задачу installDist. Добавим задачу stage с нужной логикой:
task stage(dependsOn: ['clean', 'installDist'])
installDist.mustRunAfter cleanТеперь задача stage будет готовить исполняемый файл приложения
После успешной компиляции и сборки проекта, приложение нужно запустить. Это можно сделать если указать команду которую нужно выполнить. Добавьте команду запуска исполняемого файла:
web: sh build/install/deploy/bin/deployВ процессе деплоя railway автоматически определит, что используется проект gradle. Но для корректной работы необходимо использовать нужные версии gradle и java
Зафиксировать нужную версию gradle можно с помощью, так называемого Wrapper (локальной для проекта копии Gradle). Для этого выполните в директории домашнего задания команду:
gradle wrapper --gradle-version 7.4Указать целевую версию java можно с помощью конфигурации в файле system.properties:
java.runtime.version=17
Зарегистрируйте бесплатный аккаунт на Railway. Если вы из РФ, вам может понадобиться подключить VPN и указать другую страну
Сервис railway позволяет задеплоить приложение прямо из вашего аккаунта на гитхаб. При создании нового приложения в Dashboard укажите ваш аккаунт с домашними работами на гитхабе. Так как наше приложение, которое мы собираемся задеплоить, находится в репозитории не в корне, нужно указать директорию, в которой оно расположено – /java-web-ru/deploy/. Это будет корневая директория приложения – Root Directory. Теперь осталось подсказать Railway, при помощи какой команды собрать наше приложение. Это делается в поле Build Command. Укажите там запуск задачи stage, которую мы подготовили:
./gradlew stageНа этом настройка приложения окончена, команду запуска исполняемого файла Railway автоматически возьмет из Procfile. Дождитесь, когда приложение соберется и запустится и откройте его
После открытия задеплоенного приложения в браузере убедитесь, что оно работает
| Back | FazBrowse Home | New Git URL |