Дока по установке и настройке окружения используя Vagrant. Для этого необходимо установить Vagrant (1.7.4) (https://www.vagrantup.com/) и Virtualbox.
- Установка.
1.1. Установка cask (если уже установлен переходите к пункту 2) используя следующую команду:
$ brew install caskroom/cask/brew-cask Так же можете обратиться к руководству (http://sourabhbajaj.com/mac-setup/Homebrew/Cask.html).
Проверить установлен ли cask можно выполнив команду. $ brew info cask
1.2 Для установки vagrant используйте пакетный менеджер brew или brew cask. Для запуска процесса установки используйте следующую команду: $ brew cask install vagrant
1.3 Для установки Virtualbox выполните: $ brew cask install virtualbox
Для установки Virtualbox и Vagrant также можете обратиться к руководству (http://sourabhbajaj.com/mac-setup/Vagrant/README.html)
- Разворачивание локального окружения. Образ, который используеться на проекте являеться приватным -- скачать образ могут авторизированные пользователи. Для этого необходимо создать аккаунт https://atlas.hashicorp.com/account/new и скинуть мне в skype (vkrivtsov) username :)
2.2. Сгенерировать токен https://atlas.hashicorp.com/settings/tokens. Скопировать токен и выполнить команду: $ vagrant login -t your_token
2.1. Скачать образ, выполнив команду: $ vagrant box add quokka/helium
2.2 Выкачить репозиторий Helium (https://github.com/McKissockLP/helium) в отделную папку, если нужно работать с текущим проектом и если ветка feature-vagrant не смерджена с master и develop к даному моменту. В противном случае -- подтянуть изменния из develop ветки и перейти к пункту 2.3
2.2.1. Необходимо изменить путь к папке для сихронизации проекта на абсолютный путь к вашему проекту на хостовой машине. Например ваш проект на хостовой машине находиться по аддресу: $ /Users/User/helium
В функцию config.vm.synced_folder по умолчанию перевым параметром передается путь к проекту. По умолчанию: config.vm.synced_folder ".", "/home/vagrant/app", create: true
Смените на свой путь /Users/User/helium. config.vm.synced_folder "/Users/User/helium", "/home/vagrant/app", create: true
Переходите к пункту 2.3.
2.3 Для разворачивания окружения выполнить команду в корне проекта: $ vagrant up
По умолчанию приложение запущено в режиме отладки (debug port 5467) и работает на порту 9003. Если необходимо перезапустить приложение, нужно выполнить команду из корня проекта без подключения к гостевой машине: $ vagrant ssh -c 'supervisorctl restart helium'
На гостевую машину установлено: node, npm, n, bower, grunt,
node-inspector (https://github.com/node-inspector/node-inspector) pygments (http://pygments.org/) httpie (https://github.com/jkbrzt/httpie)
ПРИМЕЧАНИЯ. Возможно в момент запуска команды vagrant up некоторые порты на хостовой машине будут уже заняты, в таком случае гостевая машина не будет запущена -- и выполнение аварийно завершиться. Перед повторным запуском машины необходимо выполнить одно условие:
- cменить порты на не занятые;
- остановить сервера, которые занимают необходимые порты;
Или передавать третим параметром параметр auto_correct: true, например: config.vm.network "forwarded_port", guest: 80, host: 9003, auto_correct: true
В этом случае при запуске нужно будет проследить на какие порты на хоствой машине были прязаны порты из гостевой.
Полезные команды. vagrant ssh -c 'supervisorctl status' - посмотреть статус vagrant ssh -c 'supervisorctl restart helium' - перезапустить приложение vagrant ssh -c 'supervisorctl start helium' - запустить приложение vagrant ssh -c 'supervisorctl stop helium' - остановить приложение vagrant ssh -c 'cd /var/log/supervisor && sudo tail -f helium-std*' - вывести в консоль содержимое логов