Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Пошаговая документация по развертыванию проекта
- 1) Для доступа к репозиторию и герриту необходимо сгенерить ssh-ключи на своем компьютере и добавить публичный ssh-ключ на https://reviews.amazinghiring.com/r/#/settings/ssh-keys
- Для генерации ключей используйте следующую последовательность команд:
- ```sh
- $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- ```
- Далее вам будет предложено ввести пароль к ключу. Вы можете не использовать его или назначить любой. Пароль защищает ваш ключ от нежелательных вторжений.
- После этого будет предложено дважды ввести придуманный пароль (или просто этот шаг будет пропущен, если вы решили не создавать пароль), и затем создастся ключ.
- Добавляем ключ в ssh-agent. Проверяем доступность ключа командой
- ```sh
- $ eval "$(ssh-agent -s)"
- ```
- Затем добавляем:
- ```sh
- $ ssh-add ~/.ssh/your_key_name
- ```
- После чего добавляем публичный ключ через форму на
- https://reviews.amazinghiring.com/r/#/settings/ssh-keys
- Теперь вы готовы к установке проекта.
- 2) Делаем клон репозитория локально:
- ```sh
- $ ->{Ваша директория} git clone ssh://{USERNAME}@reviews.amazinghiring.com:29487/frontend
- ```
- где USERNAME - имя почтового ящика или логин пользователя (левая часть до @)
- Далее будем отталкиваться от той папки непосредственно в которую вы склонировали проект.
- 3) Распаковываем geoip:
- ```sh
- $ ->{Ваша директория} cd ~/projects/frontend/apps/ah/geo_ip/
- $ ->{Ваша директория}/frontend/apps/ah/geo_ip/ tar zxvf geo_ip.tar.gz
- ```
- 4) Cоздадим виртуальное окружение
- По выбору директории для вирутального окружения не принципиально, для примера она будет лежать снаружи директории проекта.
- ```sh
- $ ->{Ваша директория} cd .. (допустим, теперь вы в папке projects)
- $ ->projects virtualenv frontend_env
- ```
- Вирутальное окружение создалось. Все последующие действия необходимо совершать предварительно активировав виртуальное окружение следующими командами:
- ```sh
- $ ->projects source /frontend_env/bin/activate
- ```
- После активации окружения,в начале командной строки в скобках должно быть написано название активированного окружения,в нашем случае`(frontend_env)
- 5) Установим зависимости python:
- Перед тем, как подтягивать зависимости, нужно закомментировать строчку с импортом psycopg2 в файле зависимостей - common.txt
- ```python
- #psycopg2==2.6.1
- ```
- и далее установить пакет psycopg2 вручную.
- ```sh
- $ pip install psycopg2
- ```
- Далее тянем зависимости из dev.txt.
- ```sh
- $ ->{Ваша директория} cd apps/ah/requirements
- $ pip install -r dev.txt
- ```
- 6) На данном этапе произведем загрузку базы данных.
- 6.1 Скачиваем и устанавливаем Postgres GUI‑приложение с https://postgresapp.com/downloads.html либо Legacy Postgress версии 9.5 либо cборку версий, включающую в себя 9.5.
- 6.2 Открываем,нажимаем иконку отображения левого меню.
- 6.3 Удаляем все ненужные серверы (по-умолчанию 1 кластер, он нам не нужен)
- 6.4 Создаем сервер версии 9.5. Название сервера неважно, порт указываем по-умолчанию - 5432.
- 6.5 Далее в GUI нажимаем команду initialize и запускаем сервер кнопкой start.
- 6.6 Далее после установки и запуска сервера необходмо сделать экспорт postgress в файл командной оболочки (zsh.rc если у вас oh-my-zsh или ;же bash_profile если bash)
- $ PATH="/Applications/Postgres.app/Contents/Versions/9.5/bin:${PATH}"
- export PATH
- 6.7 Создаем базу данных и пользователя
- ```sh
- $ createdb ah
- $ echo "create user ah with superuser password 'ahha';"| psql ah
- ```
- 6.8 Теперь можем скачать и восстановить в нашу локальную базу данных dump. (P.S. дамп базы данных Тимур передал по airdrop'у)
- $ cd ~/Downloads
- $ pg_restore -v -j 3 -d ah $FILENAME
- 6.9 Распаковываем архив (например, через Keka или как удобно)
- 6.10 Наполняем данными из дампа нашу локальную базу данных ah:
- $ psql ah < eu01-production3-2018-10-24-04-00.dump.sql
- После восстановления дампа, файлы можно удалить.
- 7) Изменение конфигурации django. В каталоге ```/YORU_PATH/frontend/apps/ah``` создаем файл ```.env```, в который вставляем
- # Django settings module
- SYSCONFIG_DJANGO_SETTINGS_MODULE=dev
- # Database
- DB_HOST=localhost
- DB_PORT=5432
- DB_NAME=ah
- DB_USER=ah
- DB_PASS=ahha
- # Java Backend
- URL_SOLR_SELECT=http://demo3.amazinghiring.com:20103/solr/ah-autocomplete
- PIPELINE_BASE_URL=http://demo3.amazinghiring.com:20104
- # External integrations
- INTERCOM_ACCESS_TOKEN='dG9rOjljMDNiNjMyXzE0NmNfNGFlY19hM2I4XzMwZjk3YTQwNzI3ZToxOjA='
- # Email lists
- USAGE_REPORT_EMAILS=a.silin@amazinghiring.com
- 8) На данном этапе производим запуск python-бэка (Django модулей)
- При каждом запуске проекта а также после ```git checkout``` необходимо выполнять команду:
- python manage.py migrate
- Команда migrate анализирует значение INSTALLED_APPS и создает все необходимые таблицы в базе данных, используя настройки базы данных из файла mysite/settings.py и миграции из приложения.
- Запуск сервер для разработки Django:
- DJANGO_SETTINGS_MODULE=conf.settings.common STATIC_URL=http://127.0.0.1:9994/static/ python ./manage.py runserver
- 9) С данного этапа будем подтягивать пакеты для Front'a
- Установим NodeJS
- Для избежания ошибок необходимо ставить Node версии v8.*.* -> [в дальнейшем было бы хорошо разобраться с конфликтом версий]
- Для дальнейшего удобства ставим nvm -> ставим нужную версию (Node [8.*.*] и переключаемся на нее (usage https://github.com/creationix/nvm#usage)
- Далее устанавливаем зависимости из package.json либо через npm, либо через yarn
- npm install
- or
- yarn install
- 10) Собираем legacy-код grunt'ом, для этого сначала переходим в директорию, где лежит файл сборки и собираем:
- $ ->{Ваша директория} cd apps/ah
- $ ->{Ваша директория}/apps/ah grunt dev
- 11) Запускаем webpack-dev-server ( p.s. файлы webpack.config.js и webpack-dev-server.config.js спросить у менторов и закинуть в {Ваша директория} cd apps/ah)
- Запускам webpack-server
- $ ->{Ваша директория}/apps/ah npm run webpack-server
- По идее установка завершена, и на localhost8000 можно увидеть search-menu.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement