Запуск в вашей IDE длинный путь от выпущена и работает ;-)
Ваш вопрос носит весьма общий характер, так что мой ответ довольно общий тоже, но охватывает основной подход.
Ключом к этому является мысль о том, что потребуется для запуска приложения-приложения hello на совершенно новом настольном ПК - вам нужно будет установить Java, создать папку для размещения вашего приложения и некоторые скрипты, запускающие программу, тогда скопируйте свою банку на новый рабочий стол и запустите эти скрипты. На сервере это ничем не отличается, только вы, вероятно, будете использовать сторонние библиотеки и, вероятно, установите больше, чем просто Java.
Прежде чем мы перейдем к более подробной информации, во-первых, термины в области сборки, выпуска и развертывания, как правило, ужасно перегружены.Для пояснения в следующем ответе я имею в виду следующее:
- артефакт - банка, война, почтовый индекс, упаковка и т. Д., Созданный проектом.
- релиз - создание кода для создания артефакта и его развертывания.
- deploy - загрузка артефакта в репозиторий.
- установить - взять артефакт из хранилища и поставить на сервер так, чтобы он мог запускаться.
Предполагаю, что вы начинаете с нуля и работаете в профессиональной среде.
Первое, что нужно сделать, это подготовить свой сервер. Как и на вашем рабочем столе, вам нужно будет установить некоторое программное обеспечение - на минимальной Java и MySQL плюс контейнер Servlet, такой как Tomcat, если вы создаете веб-приложение. У вас есть два варианта: вы делаете эти установки вручную или используете такой инструмент, как Puppet, чтобы его автоматизировать. Я бы рекомендовал его позже, потому что после установки вы можете построить сервер за несколько минут, а не дней.
Тогда вам понадобится какой-то процесс сборки, отдельный от вашей среды разработки. Нынешними популярными инструментами для этого являются Maven или Gradle. Цель сборки - создать артефакт, содержащий все, что должно быть добавлено на сервер для установки вашего приложения. В случае автономного приложения это может быть zip с размерами, необходимыми для образа диска в нем (баннеры, конфигурации, сценарии запуска/остановки), или в случае веб-приложения - войны, которая является стандартной структурой развертывания для веб-приложения.
Далее вам понадобится какой-то процесс выпуска для ваших сценариев приложений и баз данных. Я больше всего знаком с Maven, способным создавать банки, войны, проприетарные почтовые индексы или пакеты и который с использованием своего Release Plugin выполняет все обновления, тегирование и развертывание VCS (в репозиторий, такой как Nexus), необходимый для выполнения релиз. База данных несколько сложнее и обычно диктуется администраторами баз данных, которые будут применять изменения базы данных - как правило, вы получаете скрипты, необходимые для создания и изменения базы данных, а также мастер-скрипт, который запускает эти сценарии в правильном порядке. Пополняйте их в zip-файле и в хранилище для безопасного хранения.
После того, как вы выпустили, вам нужно каким-то образом взять артефакты из репозитория и установить их на сервер. Очевидно, это можно сделать вручную или со сценариями, но я бы рекомендовал использовать Puppet, по крайней мере, для артефактов, нацеленных на сервер. С помощью сценариев базы данных, хотя это также может быть автоматизировано, чаще всего подключается к базе данных и вручную применяет сценарии с помощью консоли базы данных (не забудьте взять резервную копию кода и базы данных до установки новой версии).
И наконец, вы можете запустить свою систему.
Чтобы запустить банку: java -jar server.jar. Вы должны скопировать файл jar на сервер и запустить его. Если это веб-приложение, вы должны опубликовать войну или ухо. – Brierson
Когда вы говорите «рабочий», вы имеете в виду, что работаете в вашей среде IDE? –
Jar - это сервер, который получает запросы от клиентского приложения и отправляет ответы (например, IM-сервер) .. и использует базу данных, где я могу поместить базу данных и библиотеки ... – EsmaeelQash