Cloud9 И Openshift. Разработка И Внедрение Приложений В Облаках

Так уж получилось, что я сейчас стажируюсь в компании, где очень сложно поставить на рабочий стол простую программу, а тем более IDE, иногда это даже превращается в целые недельные квесты.

Но при этом в свободное от работы время я очень люблю экспериментировать.

Прочитав статью о онлайн-IDE и имея аккаунт в OpenShift, я решил попробовать создать и развернуть Yii-приложение в облаках.

Сразу скажу, что эта статья для новичков.

Если вам интересно, заходите! Мы подключаем Cloud9 IDE И Опеншифт .

Я решил использовать Cloud9 в качестве IDE, дизайна и функциональность Мне нравится.

Плюс в том, что можно запускать приложение прямо в IDE, минус в том, что хостинг базы данных не поддерживается, поэтому постараемся организовать доступ к базе данных, которую будем создавать в OpenShift. И все же Cloud9 меня улыбнул наличием терминала (Alt+T), пусть и ограниченного.



Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

Шаг 0. Мы создадим учетные записи, если у вас их еще нет. Лично я использую бесплатные варианты.

Для Cloud9 это публичные рабочие среды размером 128 МБ + 1 приватный + ограниченный терминал.

Для OpenShift это 3 небольших картриджа, каждый с 512Мб ОЗУ и 1Гб диском.

Картриджи — это компоненты, которые можно добавить в приложение, например базы данных (MySQL, PosgreSQL и MondoDB) и инструменты администрирования (phpMyAdmin, RockMongo, Cron и т. д.).

Вполне достойна для небольших экспериментов.

Шаг 1. Добавление SSH-ключа Cloud9 в OpenShift Известно, что ключи SSH используются для безопасных соединений, вот несколько хороших статей.

В Cloud9 ключ можно найти в разделе «Показать ключ SSH» в вашей учетной записи.



Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

Копируем и вставляем этот ключ в OpenShift, для этого в Вашем Аккаунте есть Открытые Ключи

Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

Шаг 2. Создаем рабочую среду в Cloud9 и добавляем приложение в OpenShift. Здесь все просто, главное при создании приложения в Cloud9 выбрать git-версию рабочей среды.

Отныне git будет нашим верным помощником.



Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

В OpenShift легким движением мыши создаем приложение с PHP 5.3.

Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

Шаг 3. Добавление git-репозитория приложения из OpenShift в рабочую среду Cloud9 После создания приложения в OpenShift вы можете увидеть его git-репозиторий.



Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

Чтобы связать этот репозиторий с производственной средой в Cloud9, мы используем следующие команды:

  
  
  
  
  
  
  
   

git remote add openshift -m master ssh://******.

git/ git pull -s recursive -X theirs openshift master

Шаг 4. Загрузка Yii в рабочую среду Cloud9 и создание скелета приложения yii. Чтобы загрузить yii framework в приложение, используйте его git-репозиторий, добавив его в качестве подмодуля:

git submodule add git://github.com/yiisoft/yii.git yii git commit -m "added yii repository as submodule"

Загрузим нужный нам релиз в репозиторий:

cd yii git checkout 1.1.13 cd .

git add yii git commit -m "Use yii v1.1.13"

Теперь давайте создадим фреймворк для приложения yii. Для этого обычно используется скрипт веб-приложения, но запустить его просто как оболочку не получится.

Вместо этого мы будем использовать PHP-версию скрипта, и да, нам понадобится глобальный путь к нашей папке.

Выполните следующую команду и получите глобальный путь:

pwd

Имеем примерно следующее:

Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

Теперь давайте запустим скрипт по этому пути, чтобы создать фреймворк приложения:

php yii/framework/yiic.php webapp /var/lib/stickshift/ffa13067224647beb05863058997082a/app-root/data/354172/php git

Добавим все, что мы получили:

git add php git commit -m "created yii skeleton app"

Тестовый запуск php/index.php из Cloud9 покажет нам предупреждение: date(): небезопасно полагаться на настройки часового пояса системы.

Эту проблему можно решить, добавив в php/protected/config/main.php следующее:

<Эphp // uncomment the following to define a path alias // Yii::setPathOfAlias('local','path/to/local-folder'); date_default_timezone_set( 'UTC' );

И не забудьте зафиксировать:

git commit -a -m "set the default timezone to UTC"

Хочу отметить, что проблема существует только в Cloud9; в Openshift приложение запускается без каких-либо предупреждений.



Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

Шаг 5. Создание базы данных в OpenShift и настройка подключения Конечно, можно обойтись и sqlite-базой данных, но для собственного интереса давайте настроим MySQL и добавим картридж на странице приложения.



Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

УПД1: Обязательно запишите данный пароль перед завершением, так как.

после этого я так и не нашел способа восстановить или сменить пароль :(.

Как предлагалось Урчр В Комментарии , логин и пароль хранятся в переменных среды.

Для их получения вы можете использовать терминал Cloud9 и подключаться удаленно к приложению через SSH. Используется стандартный логин - администратор , а пароль берется из $OPENSHIFT_MYSQL_DB_PASSWORD. УПД2: Узнать адрес и порт базы данных мне удалось только установив картридж phpMyAdmin. Вы также можете получить его через консоль в переменных среды $OPENSHIFT_MYSQL_DB_HOST и $OPENSHIFT_MYSQL_DB_PORT. Для административных целей мы также предоставим картридж с phpMyAdmin.

Cloud9 и OpenShift. Разработка и внедрение приложений в облаках

В том же php/protected/config/main.php настраиваем подключение к MySQL. Вот и все! Теперь приложение готово к дальнейшим действиям.

Все это можно сделать, используя только браузер, везде, где есть доступ в Интернет. Использовались следующие источники: 1. Смотри, мам, нет рук! Разработка облачной среды с помощью Cloud9 IDE 2. Создать проект Yii в Cloud9 Надеюсь, что статья будет полезна! Теги: #openshift; Облако 9; yii framework #Разработка веб-сайтов #Openshift

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.