Прежде всего вам
необходимо зарегистрироваться на
OpenShift и залогиниться. Второй этап —
настроить ssh-доступ. Да, y OpenShift есть
специальные консольные утилиты для
работы без ssh, но это не наш случай.
1. Генерим открытый
ssh-ключ:
$ ssh-keygen -t rsa
В каталоге .ssh вы получите
два файла: id_rsa и id_rsa.pub.
2. Зайдите в настройки
своего аккаунта.
3. Выберите «Change settings»,
попадете на экран Personal Information.
4. Нажмите кнопку «Add a
new key...», попадете на экран Add a public key. Скопируйте туда содержимое файла
id_rsa.pub.
Далее необходимо создать
приложение.
5. Выберите вкладку «My
Applications» и нажмите кнопку «Add application».
OpenShift покажет вам экран выбора типа
приложения. Выберите приложение
Tomcat7.
6. На экране конфигурации
нового приложения введите его имя и нажмите кнопку «Create application.
7. Откроется экран с
подробностями о созданном приложении. Нажмите на ссылку «Add cartridge».
8. В открывшемся экране выберите нужную вам базу данных.
В этом примере мы рассматриваем MySQL 5.1.
Добавьте этот картридж.
9. OpenShift покажет вам
экран с информацией о вашей БД. Важный
момент: хост и порт для коннекта из
приложения хранятся в переменных
окружения среды OPENSHIFT_MYSQL_DB_HOST и
OPENSHIFT_MYSQL_DB_PORT.
10. Зайдите на вкладку
My applications, выберите ваше приложение и
нажмите на ссылку «Want to login to your
application?». OpenShift покажет вам ssh-команду
для логина на сервер.
11. Введите показанную
команду
$ ssh
515c...00401@helloworld-writing.rhcloud.com
Если до этого вы правильно
зарегистрировали ваш id_rsa.pub, то ssh тихо
залогинит вас на сервер и не спросит
пароля.
Выполните команду
$ ctl_all restart
Эта команда необходима
для того, чтобы OpenShift рестартанул
приложение и подтянул картридж с MySQL.
После перезагрузки в окружении среды
перезапущенного Tomcat появятся переменные
OPENSHIFT_MYSQL_DB_HOST и OPENSHIFT_MYSQL_DB_PORT.
12. Выйдите из ssh-сессии
командой exit. Сконфигурируйте строку
соединения к MySQL следующим образом.
(def env (into {} (System/getenv)))
(def dbhost (get env
"OPENSHIFT_MYSQL_DB_HOST"))
(def dbport (get env
"OPENSHIFT_MYSQL_DB_PORT"))
(def default-conn {:classname
"com.mysql.jdbc.Driver"
:subprotocol
"mysql"
:user "myuser"
:password
"mypassword"
:subname (str "//"
dbhost ":" dbport
"/helloworld?useUnicode=true&characterEncoding=utf8")
:delimiters "`"})
В поля :user и :password
необходимо подставить значения, которые
OpenShift выдал вам на шаге 9. В поле :subname
слово helloworld — это имя БД (также получено
на шаге 9).
13. Соберите ваше
веб-приложение командой lein ring uberwar.
Переименуйте её в ROOT.war.
14. Скопируйте war-ку на
сервер:
$ scp ROOT.war
515....01@helloworld-writing.rhcloud.com:app-root/data
15. Залогиньтесь на
сервер
$ ssh
515...401@helloworld-writing.rhcloud.com
16. Переместите
скопированную war-ку в каталог с
веб-приложениями:
$ mv app-root/data/ROOT.war
app-root/runtime/repo/webapps/
17. Через некоторое время
ваше новое приложение будет доступно.
В моем случае — по адресу
http://helloworld-writing.rhcloud.com.
Комментариев нет:
Отправить комментарий