-
Notifications
You must be signed in to change notification settings - Fork 4
Home
- Если ещё не имеете ssh-ключа, то сгенерируйте его по инструкции и добавьте его в свой аккаунт на Гитхабе.
- Если ещё не имеете аккаунта на Гитхабе, то зарегистрируйтесь.
- Пришлите мне (olga-tss) ваш ник или имейл, под которым вы зарегистрировались на Гитхабе, чтобы я смогла добавить вас в этот проект — так вы сможете пушить в этот гит-репозиторий.
- Перед тем, как начать работать с кодом, прочитайте, пожалуйста, как организована работа с ветками в нашем репозитории.
- Вы также скоро сможете пушить и в OpenShift-овский репозиторий. Если у вас уже есть аккаунт на OpenShift-е - пришлите мне имейл, на который зарегистрирован этот аккаунт. Если акканута ещё нет, но вы хотите его завести — заводите и присылайте мне имейл. Если не хотите заводить — не заводите. Просто имейте ssh-ключ. Этого будет достаточно, чтобы вы могли пушить и в OpenShift-овский репозиторий.
Я не любитель администрирования, так что если среди нас есть те, кто любит и умеет это делать — то как только всё запустится и полетит в имеющейся инфраструктуре (и не будет гадить в полёте), вы сможете забрать управление окружением в свои руки. Если кто-то хорошо разбирается в имеющемся окружении, можете забирать уже сейчас :)
Замечание по инфраструктуре: мы используем PAAS, а не виртуальную машину с голым линуксом, т. е. почти ничего устанавливать и настраивать не нужно (а что было нужно, я уже настроила). Более того, лучше без необходимости ничего на серверах лишний раз руками не трогать, чтобы не поломать. А то отломается, упадёт на ногу, придавит пальцы и т. д. Т. е. если вам просто хочется чего-нибудь понастраивать, не важно, что именно — то лучше зарегистрируйте аккаунт на OpenShift-е и потренируйтесь вначале на нём :)
На сервере:
- Java 1.7
- JBossAS 7.1.1
- PostgreSQL 9.2 (также, вероятно, будем использовать In-Memory DB H2)
- Twitter Bootstrap 3.3.4
- JQuery 1.11.2 (требуется для Twitter Bootstrap)
Логин и пароль для удалённого доступа к PostgreSQL, установленной на сервере, можно получить у меня. Инструкцию по подключению можно найти в конце страницы Deployment lifecycle.
- Вытягиваем проект из репозитория и открываем в IDE. В настройкай проекта в параметрах компиляции установить JDK 1.7
- Скачать и установить JBoss AS 7.1.1 Final
- В папке с сервером \jboss-as-7.1.1.Final\standalone\configuration найти файл standalone.xml. В файле в этой строке значение параметра enable-welcome-root должно быть false.
- Настроить подключение к БД как показато тут.
В коде не нужно явно указывать URL, логин и пароль для соединения с БД. OpenShift в настройках сервера создаёт DataSource, который и смотрит на нашу БД. Вот как это выглядит в настройках, если интересно: standalone.xml
.
Таким образом, чтобы получить в коде нашего приложения DataSource, нжно сделать в контексте лукап вот этого имени: java:jboss/datasources/PostgreSQLDS
.
Для локальной работы отредактируйте standalone.xml
вашего локально установленного сервера JBossAS 7.1.1 (не тот standalone.xml
, что в нашем репозитории!) аналогичным образом, только:
- Или установите у себя переменные окружения
OPENSHIFT_POSTGRESQL_DB_HOST
,OPENSHIFT_POSTGRESQL_DB_PORT
,OPENSHIFT_APP_NAME
,OPENSHIFT_POSTGRESQL_DB_USERNAME
,OPENSHIFT_POSTGRESQL_DB_PASSWORD
, указав в них соответственно URL, порт, название схемы БД, логин и пароль к вашему локально установленному PostgreSQL-ю. - Или в
standalone.xml
вашего локально установленного сервера JBossAS 7.1.1 прямо вместо этих переменных укажите ваши значения URL-а, порта, названия схемы БД, логина и пароля к вашему локально установленному PostgreSQL-ю.
На странице Deployment lifecycle написано, как предлагается работать в этом окружении. Читайте, спрашивайте.
На странице Q&A публикуются наши вопросы кураторам и их ответы нам. Читайте, дополняйте.
Если вдруг будет интересно, то вот документация по OpenShift-у.
Сейчас проект состоит из нескольких модулей: ejb, war, ear, конфиг для checkstyle-плагина и папка с заготовками под скрипты для БД.
В дальнейшем, по всей видимости, могут быть несколько war-модулей: например, один веб-модуль для админа, другой — для водителя, третий — для пользователя и т. д. Нужно согласовать разбивку.
OpenShift-репозиторий нужен для того, чтобы развернуть наше приложение на общедоступном удалённом сервере.
GitHub-репозиторий предоставляет удобный графический интерфейс для работы с ветками, встроенную Вики, систему отслеживания задач, статистику, т. е. помогает организовать командную работу.
Поскольку у нас два репозитория, то необходимо выработать и затем придерживаться простой дисциплины пушей, чтобы в обоих репозиториях был одинаковый код. Предлагаю работать по схеме, изложенной на странице Deployment lifecycle.
Необходимо выбрать удобный механизм для голосований и обсуждений. Например, заводим страницу на Вики и плюсуем/минусуем вопрос, или делаем опросник на Гугл-диске, или что-то ещё. Желательно, конечно, не распыляться между различными сервисами, чтобы все результаты были под руками и, желательно, версионировались.