Как я могу продолжать использовать Accurev с Capistrano 3?
Мы используем AccuRev (и я не могу изменить это) и развертываем с Capistrano 2. Мне нужно перейти на Capistrano 3, но, похоже, модуль Accurev SCM был удален. Есть ли способ, которым я могу продолжать использовать AccuRev и развертывать с Capistrano 3?
Развернуть.RB piece
set :scm, :accurev
Ошибка развертывания
cap aborted!
LoadError: cannot load such file -- capistrano/accurev.rb
2 ответа:
В качестве документации Capistrano3 , - говорит - существует только в Git, HG и поддержки СВН.
Но не должно быть так трудно перенести старый accurev модуль из Capistrano 2 в Capistrano 3. Некоторые классы изменились, но ядро осталось прежним-функции должны возвращать правильные команды с правильными параметрами.
Вы можете начать с реализации git изmaster и заменить его AccuRev.
Обходной путь, который я использую с одного года, следующий:
1- отредактируйте файл capistrano-3.3.5 / lib / capistrano / setup.rb и заменить
load "capistrano/#{fetch(:scm)}.rb"
By
load "#{fetch(:scm_path, 'capistrano')}/#{fetch(:scm)}.rb"
2- Добавьте в свой config / deploy.файл rb
set :scm_path, 'path/to/accurev/directory'
Это даст Капистрано возможность открыть схему конфигурации accurev. Обратите внимание, что capistrano v3 изменил свой синтаксис, и вам, возможно, придется изменить accurev файлы (я предлагаю затем дублировать их в вашем lib папка).
Некрасиво редактировать содержимое файла gem напрямую, но другого способа здесь нет. Вы также можете развилить их ГИТ и сделать модификацию на вашей вилке, если хотите.
У меня есть аналогичная проблема, потому что я использую изготовленный на заказ scm в capistrano. Пытался заставить их принять запрос на добавление этой опции конфигурации
scm_path
с прошлого года, но они отказываются, говоря, что скоро перейдут на что-то лучшее ...