@dmz9

Как настроить рабочую среду ruby (ror) + vagrant + rubymine @ win7x64?

Есть необходимость в настройке рабочей машины под разработку на ror (начать хотя бы ковырять redmine).
Опыта общения нет, если не считать несколько беглых взглядов.
Исходные данные:
система - windows7 x64
ide - rubymine - есть хороший опыт работы со штормом поэтому тут без вариантов от jetbrains
vagrant - не столько мода, сколько суровая необходимость в обучении работе с этим инструментом. из плюсов - где то пишут что всегда лучше иметь "копию" боевой машины (сайта), да и вообще удобная штука. на нем поднимается trusty/ubuntu64 (туториал по запиливанию руби на вагранте, где то из офф источников)
первый пациент - redmine.
----------------------
Суть вот в чем
вагрант хорошая штука и мне нравится что без необходимости установки отдельной ОС можно развернуть работающий, хоть и консольный, линукс. но как тогда работать с ним в связке с рубимайном? и с гитом?
1/ открывать и заводить проект "напрямую" через рубимайн? т.е. тупо "Open" папку с проектом (в котором уже стоит .vagrant и .git) - но тогда гемы поставленые в виртуальной машине не учитываются и он просит их установить локально (т.е. в окружении ruby@windows) - а смысл? ну и вообще имхо не совсем верно т.к. окружение - windows (зачем тогда вагрант)
2/ либо как тогда цепляться, в локалку на 127.0.0.1 по ssh? и якобы устроить "деплой" по "локалхосту" ? в этом случае рубимайн можно зацепить на базу данных (если порты открыть на вагранте нужные). но тогда получается файлы будут передавать якобы "по сети", и это добавляет ненужного посредника между редактированием и записью файлов (в отличие от случая когда файлы напрямую пишутся на диск) - хотя тут не совсем уверен ))
----------------------
хотелось бы узнать как будет правильнее в плане максимального контроля над проектом - по идее нужно чтобы рулить проектом целиком и полностью можно было из ide и в случае "чего" - легко развернуть еще одну рабочую машину разработчика проекта
  • Вопрос задан
  • 1192 просмотра
Пригласить эксперта
Ответы на вопрос 4
dima11221122
@dima11221122
Разработчик программного обеспечения
Есть множество ресурсов, наподобии https://railsbox.io/, которые позволяют сконфигурировать бокс под нужные задачи. Rubmine имеет интеграцию с vagrant в следующих составляющих
- Позволяет управлять контейнерами из заранее преднастроенной папки (up/down/provision/etc)
- Использование ruby SDK из vagrant
- Запуск и отладка rails-приложений
Папка с кодом шарится с помощью synced folder (https://www.vagrantup.com/docs/synced-folders/). В качестве Synced Folder на всех платформах предлагаю использовать nfs. В частности, для Windows есть плагин vagrant-winnfsd (https://github.com/winnfsd/vagrant-winnfsd). В общем-то все)
Ответ написан
Комментировать
@jarosluv
Мой опыт сборки подобной связки был крайне печальным. Год назад мне пришла такая идея, попробовать поработать с Ruby из-под Windows, уж больно хорошо эта система выглядела на ноутбуке с сенсорным экраном. Вечера не менее, чем двух недель я потратил в надежде запустить этого монстра и настроить всё так, чтобы было круто. К сожалению, сейчас не помню какие именно были проблемы, но помню, что сначала настраивал виртуализацию через Hyper-V, затем пытался собрать бокс под Ubuntu 14.04, т .к. готовые были только под 12 версию, после чего соединял это всё с Rubymine в надежде, что всё будет работать как в нативной Убунте. Обламываясь на каждом из шагов, перерывая кучи мануалов и создавая Issue в Гитхабе проекта, всё-таки удалось добиться цели - с горем пополам, с ненужными костылями (вроде подцепления удалённого интерпретатора Ruby), связка завелась. Но окончательно меня убило отсутсвие нормального терминала. Спустя день мучений, снёс винду в пользу Linux.
Ответ написан
@vsuhachev
3/ Поставить внуть виртуалки десктоп и работать полностью в Линуксе
Ответ написан
@dmz9 Автор вопроса
Папка с кодом шарится с помощью synced folder (https://www.vagrantup.com/docs/synced-folders/). В качестве Synced Folder на всех платформах предлагаю использовать nfs. В частности, для Windows есть плагин vagrant-winnfsd (https://github.com/winnfsd/vagrant-winnfsd). В общем-то все)

вагрант по умолчанию делает одна расшареную папку между хост- и гость-машинами, /vagrant = папка в которой был vagrant init. в чем между ними разница вкратце, если можно? можно ведь весь код в ней располагать и собсно пункт 1/ про это и был - если открыть рубимайном эту папку, она станет папкой проекта
--------------------
насчет подключения удаленного интерпретатора руби из вагранта - нашел туториалы
--------------------
еще не читал, однако, в заголовках пока не вижу - как подключать data-source - т.е. мускул-базы? все же проброс доп. портов в vagrantfile ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы