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) перед этим.

Другие вопросы по тегам