Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Автоматизация развертывания Play! Framework приложений на платформе OpenShift

Anna | 5.06.2014 | нет комментариев

Здравствуй, програжители! Сегодня я хотел бы рассказать о том, как дозволено воспользоваться бесплатнымрешением от RedHat для размещения своих сайтов в облаке на примере Play! Framework. Не буду описывать отдельно всякий из продуктов, т.к. про них теснее не раз писали, расскажу лишь об их взаимодействии и моей схеме для автоматизации сборки и развертывания.

Выходит, приступим. Сделав JBoss приложение на OpenShift, мы получаем в распоряжение Git-репозиторий, в котором лежат семпловые исходники (для дальнейшей замены на наши сорцы) и собранная версиях этих исходников в виде WAR-архива.

Разворачивать приложение дозволено двумя методами: либо пропушивая на сервер исходники, которые будут собираться с поддержкой pom.xml, применяя Maven, либо пропушивая готовый WAR-архив. Других путей, к сожалению, нет: «заливать» файлы на сервер дозволено только через Git. Безусловно, существует вероятность присоединиться к серверу по SSH, но это применяется огромнее для административных задач. На этом с OpenShift-частью пока завершим.

Play! Framework версии 2.1.1 (последней на данный момент), к сожалению, не поддерживает создание WAR-архива, он работает немножко по-иному, создавая на выходе сходственную конструкцию:

my-first-application-1.0
<exec executable=”play.bat”> <arg line=”war -o ${deployments}ROOT” /> </exec> <zip destfile=”${deployments}ROOT.war” basedir=”${deployments}ROOT” /> <delete dir=”${deployments}ROOT”/> </target> <!– Самое увлекательное – развертывание. Обратите внимание: трудимся не в директории нынешнего плана, а в папке ${dist}, потому что именно там находится наш OpenShift-Git-репозиторий. –> <target name=”deploy” description=”upload war” > <exec executable=”git” dir=”${dist}”> <arg line=”add .”/> </exec> <exec executable=”git” dir=”${dist}”> <arg line=”commit -m ‘Deploy’”/> </exec> <exec executable=”git” dir=”${dist}”> <arg line=”push”/> </exec> </target> <!– Исполняем чистку, удаляя ветхий ROOT.war –> <target name=”clean” description=”clean up” > <delete file=”${deployments}ROOT.war” /> </target> </project>
Вот, в тезисе, и все. Применяя цели dist и deploy, мы можем соответственно собирать и разворачивать наш прокет.

Не могу сказать, что решение изящное — скорее оно смахивает на костыль. Но данный костыль помогает в кратчайшее время наладить стремительную и комфортную разработку сайта в бесплатном облаке, а значит он имеет право на существование.

Везения!

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB