Что такое Jelastic Cloud? это облачный java-хостинг, а с некоторых пор и php-хостинг, который поддерживает такие сервера приложений как Tomcat 6/7, Jetty 6, Glassfish 3, среду выполнения Java 6/7, а так же БД MariaDB 5.5, MySQL 5.5, PostgreSQL 8.4, MongoDB 2.0 и CouchDB 1.2 (версии указаны на момент публикации поста). Более подробно можно узнать у них на сайте.
Мы же поговорим про создание и загрузку java web-приложения в cloud-окружение посредством maven-плагина от Jelastic.
В первой части мы создадим окружение в облаке и создадим простой web-проект, который и установим в окружение.
Для этого потребуется создать, если у вас её ещё нет, учетную запись и перейти в «Панель администрирования» у своего провайдера (Jelastic Cloud располагается у разных провайдеров).
Я выбрал tomcat 6 и java 6. Использовать окружение будет от одного до трёх клаудлетов. так же, на картинке я подчеркнул имя окружения (

После того, как Maven закончит создавать базовую структуру прокта, откроем файл

Что же, мы закончили создавать наше самое простое web-приложение и теперь самое время приступить к настройки проекта для его установки через Maven на Jelastic Cloud.
Вы можете спросить, чем меня не устраивает пример от самого Jelastic? ну, хотя бы тем, что там требуется делать 2 шага (собрать, установить) вместо одного (собрать и установить).
Приступим.
Для начала, в соответствии с официальной документацией, добавим в
отличие составило только в том, что я удалил включение профиля по-умолчанию (секция activation) — мне удобнее явно включать нужные профили для конкретного проекта.
теперь, так же, согласно официальной документации, добавим в pom.xml проекта репозитарий для jelastic-плагина:
На этом наше соответствие официальной документацией Jelastic заканчивается и переходим к «магии».
добавил в pom.xml новый профиль с id, соответствующим id jelastic-профиля в settings.xml:

Здесь мы сделали следующее:
1) отключили для данного профиля выполнение плагина
2) Добавили maven-плагин jelastic с указанием cloud-окружения, данных для аутентификации и контекст для нашего web-приложения (если вам потребуется не корень домена, то вместо
3) для maven-плагина jelastic указали, что он выполняется автоматически на шаге "
Всё — теперь мы готовы собрать и установить наше web-приложение на Jelastic Cloud.
включаем профиль "

Смотрим, что установка прошла успешно:
На этом наша первая часть закончена — мы успешно выполнили deploy нашего web-приложения в окружение Jelastic Cloud.
PS: на текущий момент при использовании maven-плагина jelastic наблюдается проблема с созданием дубликатов war-файлов в диспетчере дистрибутивов — приходится заходить в панель администрирования и удалять вручную дубликаты.
Мы же поговорим про создание и загрузку java web-приложения в cloud-окружение посредством maven-плагина от Jelastic.
В первой части мы создадим окружение в облаке и создадим простой web-проект, который и установим в окружение.
шаг 1. Создадим cloud-окружение.
Для этого потребуется создать, если у вас её ещё нет, учетную запись и перейти в «Панель администрирования» у своего провайдера (Jelastic Cloud располагается у разных провайдеров).
Я выбрал tomcat 6 и java 6. Использовать окружение будет от одного до трёх клаудлетов. так же, на картинке я подчеркнул имя окружения (
env-6560883) — на него мы будет в последующем устанавливать web-приложение, а так же, по нему мы будем открывать его в браузере (env-6560883.j.rsnx.ru)
шаг 2. Создадим простое web-приложение используя Maven.
много картинок





После того, как Maven закончит создавать базовую структуру прокта, откроем файл
/src/main/webapp/WEB-INF/web.xml и заменим в нём содержимое полностью на наше, тем самым, указывая, что мы будем использовать servlet API 2.5 вместо 2.3.
xml-исходник
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
Что же, мы закончили создавать наше самое простое web-приложение и теперь самое время приступить к настройки проекта для его установки через Maven на Jelastic Cloud.
Вы можете спросить, чем меня не устраивает пример от самого Jelastic? ну, хотя бы тем, что там требуется делать 2 шага (собрать, установить) вместо одного (собрать и установить).
Приступим.
Для начала, в соответствии с официальной документацией, добавим в
~/.m2/settings.xml следующий блок:<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <profiles> <profile> <id>jelastic</id> <удаляем> <activation> <activeByDefault>true</activeByDefault> </activation> </удаляем> <properties> <jelastic.username>[insert your Jelastic user name]</jelastic.username> <jelastic.password>[insert your Jelastic password]</jelastic.password> </properties> </profile> </profiles> </settings>
отличие составило только в том, что я удалил включение профиля по-умолчанию (секция activation) — мне удобнее явно включать нужные профили для конкретного проекта.
теперь, так же, согласно официальной документации, добавим в pom.xml проекта репозитарий для jelastic-плагина:
<pluginRepositories> <pluginRepository> <id>sonatype-oss-public</id> <url>https://oss.sonatype.org/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
На этом наше соответствие официальной документацией Jelastic заканчивается и переходим к «магии».
добавил в pom.xml новый профиль с id, соответствующим id jelastic-профиля в settings.xml:

xml-исходник
<profiles> <profile> <id>jelastic</id> <build> <plugins> <plugin> <groupId>com.jelastic</groupId> <artifactId>jelastic-maven-plugin</artifactId> <version>1.7-SNAPSHOT</version> <configuration> <api_hoster><span style="color: red;"><b>app.j.rsnx.ru</b></span></api_hoster> <context>ROOT</context> <email>${jelastic.username}</email> <environment><span style="color: red;"><b>env-6560883</b></span></environment> <password>${jelastic.password}</password> </configuration> <executions> <execution> <phase>install</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.4</version> <executions> <execution> <phase>none</phase> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles>
Здесь мы сделали следующее:
1) отключили для данного профиля выполнение плагина
maven-install-plugin, который производит установку нашего артефакта в локальный репозитарий Maven\2) Добавили maven-плагин jelastic с указанием cloud-окружения, данных для аутентификации и контекст для нашего web-приложения (если вам потребуется не корень домена, то вместо
ROOT напишите ваш путь, например "/myapp")3) для maven-плагина jelastic указали, что он выполняется автоматически на шаге "
install"Всё — теперь мы готовы собрать и установить наше web-приложение на Jelastic Cloud.
включаем профиль "
jelastic" и указываем maven произвести установку, указав этап "install"
Смотрим, что установка прошла успешно:
много картинок





На этом наша первая часть закончена — мы успешно выполнили deploy нашего web-приложения в окружение Jelastic Cloud.
PS: на текущий момент при использовании maven-плагина jelastic наблюдается проблема с созданием дубликатов war-файлов в диспетчере дистрибутивов — приходится заходить в панель администрирования и удалять вручную дубликаты.
