2015-01-07 2 views
3

Мы используем AccuRev (и я не могу этого изменить) и развертывали с Capistrano 2. Мне нужно перейти на Capistrano 3, но кажется, что модуль SCM Accurev был удален. Есть ли способ, которым я могу продолжать использовать AccuRev и развертывать с Capistrano 3?Как я могу продолжать использовать Accurev с Capistrano 3?

deploy.rb шт

set :scm, :accurev 

Ошибка развёртывания

cap aborted! 
LoadError: cannot load such file -- capistrano/accurev.rb 

ответ

2

В Capistrano3 документации says - есть только мерзавец, и СВН рт.ст. поддержки.

Но не должно быть так трудно переносить old accurev module из Capistrano 2 в Capistrano 3. Некоторые классы изменены, но ядро ​​такое же - функции должны возвращать правильные команды с соответствующими параметрами.

Вы можете начать использовать git с master и заменить его на AccuRev.

0

Обойти я использую, поскольку один год является следующее:

1- Отредактируйте файл Capistrano-3.3.5/Библиотека/Capistrano/setup.rb и заменить

load "capistrano/#{fetch(:scm)}.rb" 

по

load "#{fetch(:scm_path, 'capistrano')}/#{fetch(:scm)}.rb" 

2- Добавить в вашей конфигурации/deploy.rb файл

set :scm_path, 'path/to/accurev/directory' 

Это даст capistrano возможность открыть схему конфигурации accurev. Обратите внимание, что capistrano v3 изменил свой синтаксис, и вам, возможно, придется модифицировать файлы accurev (я предлагаю затем дублировать их в вашей папке lib).

Неправильно редактировать содержимое файла gem напрямую, но здесь нет другого пути. Вы также можете разблокировать их git и сделать модификацию на своей вилке, если хотите.

У меня есть аналогичная проблема, потому что я использую пользовательский scm в capistrano. Пытался заставить их принять запрос на вытягивание, чтобы добавить этот вариант конфигурации scm_path с прошлого года, но они отказываются, заявив, что вскоре они перейдут на что-то лучшее ...

 Смежные вопросы

  • Нет связанных вопросов^_^