Symfony2 + GitFlow + Capifony + Capistrano-ext

时间:2013-02-08 13:19:35

标签: symfony deployment capistrano git-flow capifony

我目前正在使用Symfony2和Gitflow开发网站。我有2个外部服务器,名为'development','staging'和'production',以及Github上的中央GIT存储库。

我希望使用Capifony:

  • 将“develop”分支更改部署到开发服务器。
  • 将任何版本/修补程序等部署到暂存以进行测试
  • 将“主”分支部署到实时“生产”服务器

我一直在阅读有关多阶段部署的this页面,到目前为止已经安装了带capistrano扩展名的capifony。

在我的/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 个答案:

答案 0 :(得分:1)

require 'capistrano/ext/multistage'移至deploy.rb的最后一行,或者至少移动set :stages, %w(production staging development)。{/ p>