Хорошие практики для управления конфигурацией Capistrano? - PullRequest
5 голосов
/ 05 декабря 2010

Я новичок в Capistrano, и мне интересно, как лучше всего управлять конфигурацией Capistrano для моего проекта.

В частности, где должен config/deploy.rb находиться в отношении управления исходным кодом моего проекта?Должен ли я хранить шаблон файла без конкретной информации о конфигурации?Или эта конфигурация должна находиться в собственном репо, совместно используемом командой?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Я тоже задумался об этом, когда начал все больше и больше использовать Capistrano.Я думаю, что большинство из нас согласны с тем, что имеет смысл отслеживать конфигурацию времени выполнения информацию отдельно от функционального кода верно?Так не должно ли быть то же самое в отношении конфигурации развертывания ?

Полагаю, вы можете сделать папку ./deploy/ подмодулем SCM.Вы можете создать грабельное задание, которое сгенерирует Capfile в вашу рабочую копию, чтобы вы могли хранить возможные пароли и прочее вне приложения ... Для этого может быть даже доступный драгоценный камень.

Однако я выбрал альтернативный подход:

У меня есть около десяти различных приложений, в которых большинство переменных Capistrano могут следовать шаблону, например set(:deploy_to) {"#{base_dir}/#{environment}/#{application}"}, и аналогично для путей к хранилищу исходного кода.

Я извлек все знания о развертывании из отдельных приложений и вместо этого поместил их в один отдельный общий проект "развертывания".Теперь я могу проверить этот проект и начать:

cap [some application] [environment] [deploy task]

Я предпочитаю этот шаблон / разделение интересов гораздо больше, чем распространение вокруг Capfiles повсюду.

1 голос
/ 25 июня 2012

Это очень хороший вопрос.

В конце концов я также поместил все материалы, связанные с deploy.rb, в проект развертывания и создал ссылки из проектов приложений. В то время a изучал Webistrano, потому что это выглядело как возможность поддерживать собственный пул получателей. Поскольку проект, похоже, больше не поддерживается, я использовал вышеуказанный подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...