Advertisement
Guest User

Untitled

a guest
Nov 7th, 2018
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Smarty 9.09 KB | None | 0 0
  1.  
  2. # Пошаговая документация по развертыванию проекта
  3.  
  4. 1) Для доступа к репозиторию и герриту необходимо сгенерить ssh-ключи на своем компьютере и добавить публичный ssh-ключ на https://reviews.amazinghiring.com/r/#/settings/ssh-keys
  5.  
  6. Для генерации ключей используйте следующую последовательность команд:
  7. ```sh
  8. $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  9. ```
  10. Далее вам будет предложено ввести пароль к ключу. Вы можете не использовать его или назначить любой. Пароль защищает ваш ключ от нежелательных вторжений.
  11.  
  12. После этого будет предложено дважды ввести придуманный пароль (или просто этот шаг будет пропущен, если вы решили не создавать пароль), и затем создастся ключ.
  13.  
  14. Добавляем ключ в ssh-agent. Проверяем доступность ключа командой
  15.  
  16. ```sh
  17. $ eval "$(ssh-agent -s)"
  18. ```
  19.  
  20. Затем добавляем:
  21.  
  22. ```sh
  23. $ ssh-add ~/.ssh/your_key_name
  24. ```
  25. После чего добавляем  публичный ключ через форму на
  26. https://reviews.amazinghiring.com/r/#/settings/ssh-keys
  27.  
  28. Теперь вы готовы к установке проекта.
  29.  
  30. 2) Делаем клон репозитория локально:
  31. ```sh
  32. $ ->{Ваша директория} git clone ssh://{USERNAME}@reviews.amazinghiring.com:29487/frontend
  33. ```
  34. где USERNAME - имя почтового ящика или логин пользователя (левая часть до @)
  35.  
  36. Далее будем отталкиваться от той папки непосредственно в которую вы склонировали проект.
  37.  
  38. 3)  Распаковываем geoip:
  39.  
  40. ```sh
  41. $ ->{Ваша директория} cd ~/projects/frontend/apps/ah/geo_ip/
  42. $ ->{Ваша директория}/frontend/apps/ah/geo_ip/ tar zxvf geo_ip.tar.gz
  43. ```
  44.  
  45. 4) Cоздадим виртуальное окружение
  46.  
  47. По выбору директории для вирутального окружения не принципиально, для примера она будет лежать снаружи директории проекта.
  48.  
  49. ```sh
  50. $ ->{Ваша директория} cd .. (допустим, теперь вы в папке projects)
  51. $ ->projects virtualenv frontend_env
  52. ```
  53.  
  54. Вирутальное окружение создалось. Все последующие действия необходимо совершать предварительно активировав виртуальное окружение следующими командами:
  55.  
  56. ```sh
  57. $ ->projects source /frontend_env/bin/activate
  58. ```
  59. После активации окружения,в начале командной строки в скобках должно быть написано название активированного окружения,в нашем случае`(frontend_env)
  60.  
  61. 5) Установим зависимости python:    
  62.     Перед тем, как подтягивать зависимости, нужно закомментировать строчку с импортом psycopg2 в файле зависимостей - common.txt
  63.     ```python
  64.         #psycopg2==2.6.1
  65.     ```
  66.     и далее установить пакет psycopg2 вручную.
  67.     ```sh
  68.         $ pip install psycopg2
  69.     ```
  70.     Далее тянем зависимости из dev.txt.
  71.  
  72.     ```sh
  73.         $ ->{Ваша директория} cd apps/ah/requirements
  74.         $ pip install -r dev.txt
  75.     ```
  76.  
  77. 6) На данном этапе произведем загрузку базы данных.
  78.  
  79.     6.1 Скачиваем и устанавливаем Postgres GUI‑приложение с https://postgresapp.com/downloads.html либо Legacy Postgress версии 9.5 либо cборку версий, включающую в себя 9.5.
  80.  
  81.     6.2 Открываем,нажимаем иконку отображения левого меню.
  82.  
  83.     6.3 Удаляем все ненужные серверы (по-умолчанию 1 кластер, он нам не нужен)
  84.  
  85.     6.4 Создаем сервер версии 9.5. Название сервера неважно, порт указываем по-умолчанию - 5432.
  86.  
  87.     6.5 Далее в GUI нажимаем команду initialize и запускаем сервер кнопкой start.
  88.  
  89.     6.6 Далее после установки и запуска сервера необходмо сделать экспорт postgress в файл командной оболочки (zsh.rc если у вас oh-my-zsh или ;же bash_profile если bash)
  90.  
  91.         $ PATH="/Applications/Postgres.app/Contents/Versions/9.5/bin:${PATH}"
  92.         export PATH
  93.        
  94.     6.7 Создаем базу данных и пользователя
  95.     ```sh
  96.         $  createdb ah
  97.         $  echo "create user ah with superuser password 'ahha';"| psql ah
  98.     ```
  99.     6.8 Теперь можем скачать и восстановить в нашу локальную базу данных dump. (P.S. дамп базы данных Тимур передал по airdrop'у)
  100.  
  101.         $ cd ~/Downloads
  102.         $ pg_restore -v -j 3 -d ah $FILENAME
  103.  
  104.     6.9 Распаковываем архив (например, через Keka или как удобно)
  105.     6.10 Наполняем данными из дампа нашу локальную базу данных ah:
  106.  
  107.             $ psql ah < eu01-production3-2018-10-24-04-00.dump.sql
  108.        
  109.    После восстановления дампа, файлы можно удалить.
  110.  
  111. 7) Изменение конфигурации django. В каталоге ```/YORU_PATH/frontend/apps/ah``` создаем файл ```.env```, в который вставляем
  112.        # Django settings module
  113.        SYSCONFIG_DJANGO_SETTINGS_MODULE=dev
  114.  
  115.        # Database
  116.        DB_HOST=localhost
  117.        DB_PORT=5432
  118.        DB_NAME=ah
  119.        DB_USER=ah
  120.        DB_PASS=ahha
  121.  
  122.        # Java Backend
  123.        URL_SOLR_SELECT=http://demo3.amazinghiring.com:20103/solr/ah-autocomplete
  124.        PIPELINE_BASE_URL=http://demo3.amazinghiring.com:20104
  125.  
  126.        # External integrations
  127.        INTERCOM_ACCESS_TOKEN='dG9rOjljMDNiNjMyXzE0NmNfNGFlY19hM2I4XzMwZjk3YTQwNzI3ZToxOjA='
  128.  
  129.        # Email lists
  130.        USAGE_REPORT_EMAILS=a.silin@amazinghiring.com
  131.    
  132.  
  133. 8) На данном этапе производим запуск python-бэка (Django модулей)
  134.  
  135. При каждом запуске проекта а также после ```git checkout``` необходимо выполнять команду:
  136.  
  137.    python manage.py migrate
  138.  
  139. Команда migrate анализирует значение INSTALLED_APPS и создает все необходимые таблицы в базе данных, используя настройки базы данных из файла mysite/settings.py и миграции из приложения.
  140.  
  141. Запуск сервер для разработки Django:
  142.  
  143.        DJANGO_SETTINGS_MODULE=conf.settings.common STATIC_URL=http://127.0.0.1:9994/static/ python ./manage.py runserver
  144.  
  145. 9) С данного этапа будем подтягивать пакеты для Front'a
  146.  
  147. Установим NodeJS
  148.    Для избежания ошибок необходимо ставить Node версии v8.*.* -> [в дальнейшем было бы хорошо разобраться с конфликтом версий]
  149.  
  150.          Для дальнейшего удобства ставим nvm -> ставим нужную версию (Node [8.*.*] и         переключаемся на нее (usage https://github.com/creationix/nvm#usage)
  151.  
  152. Далее устанавливаем зависимости из package.json либо через npm, либо через yarn
  153.  
  154.         npm install
  155.             or
  156.         yarn install
  157.  
  158. 10) Собираем legacy-код grunt'ом, для этого сначала переходим в директорию, где лежит файл сборки и собираем:
  159.    
  160.         $ ->{Ваша директория} cd apps/ah
  161.         $ ->{Ваша директория}/apps/ah grunt dev
  162.  
  163. 11) Запускаем webpack-dev-server ( p.s. файлы webpack.config.js и webpack-dev-server.config.js спросить у менторов и закинуть в {Ваша директория} cd apps/ah)
  164.  
  165.     Запускам webpack-server
  166.  
  167.          $ ->{Ваша директория}/apps/ah  npm run webpack-server
  168.    
  169. По идее установка завершена, и на localhost8000 можно увидеть search-menu.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement