Можете ли вы скомпилировать, развернуть и протестировать свои проекты Java EE с помощью всего одной командной строки? Проверьте это.
В последнее время у меня нет времени на документацию, но я предпочитаю дать вам возможность досрочно принять мой сценарий сборки и сделать собственные выводы. Следуя приведенным ниже инструкциям, на вашем сервере Glassfish v2.1 будет запущено мое приложение Java EE 5, включая тестовые данные, заполненные базой данных MySql.
Что делает скрипт:
- Скомпилируйте, проведите модульные тесты и запакуйте проект Arena-PUJ .
- Разверните веб-сервис RESTful. (* .Ear)
- Заполните MySql тестовыми данными.
- Выполнить интеграционные тесты
- Разверните веб-приложение DWR (* .war)
Магия делается с помощью набора из ASADMIN GlassFish в командах , работающих на Shell Script и Maven плагин AntRun . Вы можете проверить проект со всеми артефактами и спросить меня, есть ли у вас какие-либо предложения или сомнения. Повеселись ?
Важно : текущая версия скрипта работает только на UNIX-подобных машинах, потому что она использует сценарии оболочки. Я создал и проверил скрипт на ОС Ubuntu и у меня не было
времени , чтобы перевести его для сценария DOS (* .bat). Так что, если вы используете Windows, извините, но чтение вашего блога заканчивается здесь. Если вы являетесь пользователем Windows и хотели бы добавить файл BAT, отправьте его мне, и вы получите соответствующие кредиты — это может быть хорошим вкладом в мой любимый проект .
ставки процента
Настроить
Нет, вы не можете пропустить эти неприятные шаги, но, по крайней мере, вам нужно сделать это только один раз.
Проверьте, есть ли у вас все необходимое программное обеспечение:
- Java 6.x
- Maven 2.x
- MySql 5.x
- ртутный
- Glassfish v2.1 * те, кто живет в будущем, могут попробовать последнюю версию v3 b66, и, пожалуйста, внесите свой вклад в FishCat, если найдете ошибку.
После установки запустите базу данных и сервер приложений. Откройте терминал и введите:
sudo service mysql start
asadmin start-server
* По умолчанию MySql будет уже запущен как сервис, так что вы можете пропустить первый шаг.
Создание файла паролей и базы данных арены
Из-за переносимости и из соображений безопасности я не мог ввести пароль непосредственно в сценарии, поэтому я позволил пользователям использовать свои локальные пароли. По этой причине у вас есть еще один скучный шаг: создать файл паролей и сохранить его как ~ / .passwords, содержащий следующие значения свойств:
AS_ADMIN_MASTERPASSWORD=glassfish_password AS_ADMIN_USERPASSWORD=glassfish_password AS_ADMIN_ALIASPASSWORD=glassfish_password MYSQL_USER=mysql_user MYSQL_PASSWORD=mysql_user_password ASADMIN_USER=glassfish_password DB_URL=jdbc\\:mysql\\://localhost\\:3306/arena MAIL_HOST=smtp.gmail.com MAIL_USER=mailuser [email protected] [email protected] MAIL_SMTP_PORT=465 MAIL_SMTP_PASSWORD=guesswhat
Известные ограничения: текущий код Java Arena-PUJ работает только для защищенных SMTP-серверов IMAP. Я планирую пересмотреть код, чтобы сделать его более универсальным, но пока он гарантированно работает только с SMTP-подобным GMail-сервером. Я не смог найти элегантный способ использования плагина AntRun с Shell Script, поэтому я жестко закодировал ~ / .passwords в скрипте. Несмотря на это, если вы вызываете его с помощью строковой команды, вы можете передать аргумент с именем файла паролей — я просто не мог заставить его работать плавно с плагином Maven :(. Проект должен работать с другими базами данных, так как я Я не использую какой-либо специфический трюк MySql в модели предметной области — но я никогда не пробовал, и я не могу гарантировать, будет ли он действительно переносимым для других БД. Вам нужно как минимум обновить дескрипторы развертывания, если вы планируете протестировать его на другой Java EE Серверы и постоянство.XML, если вы будете использовать другую базу данных — и, пожалуйста, скажите мне, если вы хотите попробовать, я очень заинтересован в результатах.
Сборка и развертывание
После установки программного обеспечения и создания файла конфигурации, хорошие новости: ваша работа выполнена, теперь настало время, чтобы мой волшебный скрипт показал свои сильные стороны. Откройте терминал и введите следующие команды:
Обновлено : пожалуйста, ознакомьтесь с новыми инструкциями здесь .
Теперь вы принимаете кофе, смотрите на экран и улыбаетесь — пришло время понять, почему Glassfish — мой предпочтительный сервер приложений ?
Успешная сборка? просто зайдите на http: // localhost: 8080 / arena-dwr /
Интеграция с Гудзоном
Представленная здесь встроенная система представляет собой чистый сценарий Maven, поэтому создание задания Hudson для запуска сценария является несложным делом. Вы можете увидеть здесь историю сборки Arena-PUJ.
Резюме
Если вы знаете меня, вы знаете, как я ненавижу шаги ручной настройки и другие ловушки, которые навязывают нам большие коммерческие проекты. Сделать мой собственный маленький проект чистым и легким — это минимум, которого требует мое стройное эго, чтобы продолжать со мной, но у меня есть всего несколько свободных часов в неделю, чтобы поднять этот любимый проект на более высокий уровень, поэтому я ценю любые улучшения и предложения, которые вы можете внести. мне. Это новый проект, и я уверен, что в ближайшем будущем он станет намного лучше. Все команды в скрипте сборки можно выполнить через Консоль администрирования Glassfish — на самом деле она не содержит магических секретов.
Подтверждение
Этот прекрасный кусок конфигурации был улучшен благодаря советам и обсуждениям в бразильском сообществе Java и всегда благодаря дружеской поддержке команды Glassfish. Я хочу поблагодарить вас всех и за особую благодарность Марсио Коррейе из CEJUG.