Управление жизненным циклом приложения в Jelastic

Разработка сложных приложений с специализированными логикой и пользовательскими интерфейсами занимает много времени и требует проверки практикой, чтобы убедиться, что они работают как задуманно и соответствуют потребностям пользователей. Возможно, Ваш проект не настолько масштабен, но Вы все-равно можете оценить преимущества использования отдельных окружений для разработки и для тестирования Вашего кода, не влияя на конечных пользователей. Создание собственных приложений требует глубокого понимания вопросов, которые могут возникать в течение всего жизненного цикла приложения, от разработки до стадии продакшина.


Управление жизненным циклом приложения значительно упрощается благодаря автоматизации рутинных операций (создание окружений, разработка и разворачивание проектов, привязка и обмен доменов, и т.д.). Один из лучших методов - сделать тестовое окружение идентичным рабочему и периодически синхронизировать тестовую базу данных с данными на продакшине, и оба окружения будут работать с данными из одной базы. Также мы покажем как использовать отдельные окружения сборки, чтобы сбилдить все Ваши проекты с помощью встроенного инструмента Maven.


Для реализации вышеописанной схемы следует выполнить следующие шаги:


Эта же процедура показана на следующем видео:

Приступим!

Создание рабочего окружения

  1. Войдите в
    Jelastic Manager.

  2. Нажмите кнопку Создать окружение.


  3. Выберите сервер приложений, который Вы хотите использовать (например, GlassFish), установите лимит клаудлетов и введите имя Вашего первого окружения, например, prodenv. После этого нажмите Создать .


  4. Через минуту Ваше окружение будет создано.

Создание окружения сборки

Вместо того, чтобы собирать свои проекты локально и потом загружать WAR архивы, Вы можете собирать приложения сразу в облаке Jelastic. Это занимает меньше времени и не понижает производительность: Вы используете всю эффективность облака и можете дальше работать на компьютере без дополнительных нагрузок. Jelastic может грузить исходный код приложения напрямую с Вашего репозитория системы управления версиями (через GIT или SVN протокол).

Следующий шаг - создание окружения сборки.

  1. Нажмите кнопку Создать окружение, выберите Maven в качестве инструмента сборки, установите лимит клаудлетов и введите имя окружения, например: buildenv. Вы можете создавать окружение без вычислительной ноды. Также нет необходимости использовать разные инструменты сборки для каждого из Ваших окружений.


  2. Через минуту Ваше окружение будет создано.

Сборка и разворачивание проекта

Теперь Вы можете легко собрать первый проект и развернуть его в рабочее окружение.

  1. Добавьте Ваш проект в Maven.


  2. В открывшемся окне перейдите на вкладку Git (или SVN), если Вы хотите использовать Git репозиторий. Задайте имя Вашего проекта, Путь к Вашему проекту, Ветку, Логин и Пароль Вашего репозитория, имя Окружения, Контекст, в котором Вы будете разворачивать Ваш проект, и нажмите Добавить.


  3. Нажмите кнопку Cоздать и Развернуть для Вашего проекта.

Создание окружения c данными

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

  1. Нажмите кнопку Создать окружение и выберите базу данных (например, MySQL), которую Вы хотите использовать.


  2. Когда Ваше окружение будет успешно создано, нажмите кнопку Открыть в браузере для MySQL. Вы получили письмо от Jelastic с учетными данными доступа к базе данных. Создайте учетную запись и базу данных, используя эти учетные данные.


Настройка базы данных

  1. Нажмите кнопку Конфигурация для сервера приложений в рабочем окружении.


  2. В открывшейся вкладке создайте файл mydb.cfg в папке home и добавьте все необходимые настройки:

  3. host=jdbc:mysql://mysql-{your_env_name}.{hoster_domain}/{db_name}
    username={get in the email from Robot@jelastic}
    password={get in the email from Robot@jelastic}
    driver=com.mysql.jdbc.Driver



    Примечание:
    Вы можете указать все настройки соединения в Вашем коде (приложении). В приведенном примере мы прописали все настройки в файле, который считывается нашим приложением.

  4. Загрузите MySQL коннектор в папку user_lib GlassFish ноды.


  5. Перезапустите GlassFish и откройте ваше приложение в браузере.


  6. C Jelastic Вы можете использовать собственное доменное имя вместо доменного имени хостера. Итак, приобретите доменное имя для Вашего рабочего окружения. В этом случае рекомендуется настраивать пользовательское доменное имя добавлением записи CNAME. Нажмите кнопку Настройки для окружения и привяжите домен. URL в нашем случае - production.com.



    Обратите, пожалуйста, внимание: в этом примере мы используем DNS имена (production.com, test.com), которые были предварительно добавлены в локальный DNS-сервер (файл хостов).

Создание тестового окружения

Теперь нужно создать тестовое окружение. Для этого можно просто клонировать Ваше рабочее окружение. Это позволит работать с несколькими версиями одного и того же окружения одновременно и использовать необходимое количество копий. Клонированное окружение полностью повторяет оригинал, включая всю информацию в базах данных и развернутые *.WAR и *.JAR приложения.

  1. Склонируйте Ваше рабочее окружение и получите его точную копию, на которую можно добавлять новые функции и тестировать их.


  2. Давайте назовем его testenv.


  3. Вы можете открыть его в браузере, просто чтобы убедиться, что все в порядке.

Обновление приложения

Если необходимо внести некоторые изменения в Ваше приложение, следуйте инструкции:

  1. Добавьте Ваш новый проект в Maven.


  2. Нажмите кнопку Cоздать и Развернуть для нового проекта. Ваш проект должен появиться в контексте, который Вы указали.


  3. Нажмите кнопку Настройки в Вашем окружении и привяжите домен (например, test.com), который Вы купили ранее.


  4. Откройте Ваше новое приложение в браузере, чтобы увидеть изменения.


  5. После тестирования новых функций Вы можете просто обменять домены. При использовании этого функционала Ваше приложение не будет останавливаться из-за развертывания Вами новой версии и это не принесет никаких неудобств конечным пользователям. Вы можете разместить новую версию приложения в тестовом окружении и затем обменять его URL с рабочим окружением всего в несколько кликов.

  6. Откройте настройки одного из Ваших окружений, перейдите в секцию Пользовательский домен, выберите другое окружение для обмена и нажмите Обменять.


  7. Теперь Вы можете перейти на production.com и увидеть, что Ваше приложение было успешно обновлено.