Pull to refresh

Comments 19

Не хочу разводить холивар, но раз уж вы взялись разрабатывать проект на рельсах — делайте это на unix системе. Вся экосистема ruby on rails заточена именно под unix.
… на худой конец ставим виртуалку, разворачиваем на ней сервер и активно пользуемся ssh, samba и т.д.
а вот за это, спасибо!
Когда я вижу название статьи в виде "%rails_actionname% под windows: мои приключения", я задаюсь одним вопросом: «зачем?!». Неужели один факт того, что довольно тривиальные вещи требуют килограммов допила не настораживает вас? Неужели это не наводит вас на мысль, что пора бы перенести разработку в более дружественную для этого среду? При всех прелестях винды, rails просто не созданы для нее. Это как чистить картошку долотом — можно, но вы натрахаетесь вдоволь и вряд ли захотите это потом есть.
Я конечно не автор, но у нас тоже есть проект на Windows + rails
Объясняется это очень просто — заказчик говорит хочу то-то и то-то в моем домене, у нас уже есть сервер — контроллер домена, вот все должно на нем работать.
Ну и что делать? отказывать проекту с отличным финансированием? Учить всей компанией другую технологию?
Так что в силу жизненных обстоятельств работать с рельсами под виндой придется.

Теперь немного по результатам того проекта:
8 месяцев разработки
При этом ваша фраза — тривиальные вещи требуют килограммов допила — совершенная ерунда.
Проблемы с которыми роеально пришлось столкнуться и попотеть( отказаться было нельзя по тз):
— интеграция с ИИС
— запуск сервера руби как сервиса
— падение руби 1.9.2 при loglevel :info ( бага оказалось достаточно известной даже есть на их трекере) лечится повышением лдоглевела до error or none
— медленный запуск относительно того же самого проекта на никсах ( примерно в 2 с половиной раза )
— проблема русских имен в гите при коммите с винды и дальнейшем просмотре с юникс системы

Это все, о каком долоте вы говорите, о каких проблемах?
Похоже проблемы прошли мимо нас, но я не встретил ни одной платформо специфичноьй проблемы за 8 месяцев разработки ( не то чтобы мы конечно 8 месяцев все сидели и занимались только этим проектом, были и другие парралельно)

Расскажите попдробнее про допилы и прочее, потому что действительно интересно!

PS если выбирать на какой системе начинать новый проект на рельсах, я за Unix

Вы тестируете? Если да, spork, capybara-webkit работает?
Мы используем cucumber + webrat для тестирования веб морды
И юнит тесты для тестирования внутренних подсистем
работают как часы, но в силу скорости запуска инстанса рельсов ( 1.9.3 улучшил конечно ситуацию но все же)
cucumber работает долго ( запускаем каждый вечер на ночь все тестирование )
Он открывает странички импортирует данные смотрит результаты и так далее, обычно придя на работу утром сразу видно деградирующие баги
selenium-webdriver, например. Помню, что были проблемы с devise, nikogiri. Нормальный цветной вывод в консоль я тоже не заборол. Это те вещи, которые навскидку вспомнил, но было что-то еще. Вот и с capistrano, как выяснилось, беда. Unicorn, Passenger, насколько я знаю, винду не поддерживают.
Я сам лично столкнулся с ситуацией, когда возможности установить *nix на комп не было, а работать было нужно. Повозившись немного и поняв, что те вещи, которые без вопросов стартуют на никсах, требуют на виндах каких-то костылей, я, не мудрствуя лукаво, поднял виртуалку и стартовал проект там.
devise? добавили в гемфайл и все работает
nOkogiri тоже вполне работает — они уже давно распространяют его скомпиленным под винду

Вот цветной вывод в консоль действительно то, что требует допил, хотя я использую рубимайн для разработке и в ней в консоле все нормально

Если я правильно понял, речь шла о разработке под виндой, а не о деплое на неё.
Ну разрабатывать а никса и деплоить на винду не самая лучшая идея. По опыту пришли к ситуации
Тестировщик: не работает
Программист: а у меня работает
Поверьте — это не «первый блин комом», у вас практически каждый «блин» будет «комом»
> А на работу связки Cap и git не знаю стоит ли постать баг?

А без git работает:
set :scm, :none
set :repository, "."
set :deploy_via, :copy
?

Насколько я помню, Capistrano, Unicorn, RVM в принципе Windows не поддерживают… Но кто его знает, может у Capistrano политика изменилась…
У Capistrano в геме специально проверяется платформа. Под винду специфичный код в «lib/recipes/strategy/base.rb». В Windows команду CD нужно вызывать с ключом "/D" иначе не произойдет переход в каталог на другом диске, если я не ошибаюсь. Так что судя по специфичному коду для «win32», поддержка есть.
Как бы то ни было, надо на Линукс разворачиваться (по крайней мере для девелопмента). Мой пост тому очередное подтверждение.
насколько я знаю, капистрано работает через ssh (т.е. заходит на сервак по ссх, делает симлинки, делает гит фетч). как это нормально реализовать в винде, где единственный дефолтный шелл это telnet, я не представляю.
а классический rvm впринципе не заработает в винде, ибо занимается подменой линков на руби интерпретатор и руби утилиты.

P.S. правда под винду есть какая-то замена rvm'а. но как она работает и что умеет делать не в курсе.
Да убунту тоже сойдет вполне.
Seriously, Just Set Up a Fucking Linux
Sign up to leave a comment.

Articles