Symfony2 + GitFlow + Capifony + Capistrano-ext
В настоящее время я занимаюсь разработкой веб-сайта с использованием Symfony2 и Gitflow. У меня есть 2 внешних сервера, которые называются "разработка", "подготовка" и "производство" и центральный GIT-репозиторий на Github.
Я хочу использовать Capifony для:
- развернуть изменения ветки 'development' на сервере разработки.
- развернуть все выпуски / исправления и т. д. для подготовки к тестированию
- разверните ветку 'master' на работающем 'производственном' сервере
Я читал эту страницу о многоступенчатом развертывании и до сих пор установил capifony с расширением capistrano.
В моем файле /app/config/deploy.rb у меня есть следующее:
set :stage_dir, 'app/config/deploy' # needed for Symfony2 only
require 'capistrano/ext/multistage'
set :stages, %w(production staging development)
set :application, "MyApp"
set :repository, "git@github.com:MyCompany/#{application}.git"
set :scm, :git
set :keep_releases, 3
Затем я получил отдельный файл /app/config/development.rb со следующим:
server 'SERVER_IP - PORT NUMBER', :app, :web, :primary => true
set :deploy_to, "/var/www/MyApp/" #directory on server
set :symfony_env_prod, "test"
Тем не менее, если я запускаю cap development deploy, я получаю ошибку
the task `development' does not exist
Может кто-нибудь объяснить, что означает "задача"?
Спасибо
1 ответ
Переехать require 'capistrano/ext/multistage'
до самой последней строчки deploy.rb
или, по крайней мере, переместить set :stages, %w(production staging development)
перед этим.