Symfony2+;GitFlow+;Capifony+;卡皮斯特拉诺分机

Symfony2+;GitFlow+;Capifony+;卡皮斯特拉诺分机,symfony,deployment,capistrano,git-flow,capifony,Symfony,Deployment,Capistrano,Git Flow,Capifony,我目前正在使用Symfony2和Gitflow开发一个网站。我有两个名为“开发”、“暂存”和“生产”的外部服务器,以及Github上的一个中央GIT存储库 我希望使用Capifony来: 将“开发”分支更改部署到开发服务器 将任何版本/修补程序等部署到测试阶段 将“主”分支部署到实时“生产”服务器 我一直在阅读关于多级部署的页面,到目前为止,我已经安装了带有capistrano扩展的capifony 在我的/app/config/deploy.rb文件中,我有以下内容: set :stage

我目前正在使用Symfony2和Gitflow开发一个网站。我有两个名为“开发”、“暂存”和“生产”的外部服务器,以及Github上的一个中央GIT存储库

我希望使用Capifony来:

  • 将“开发”分支更改部署到开发服务器
  • 将任何版本/修补程序等部署到测试阶段
  • 将“主”分支部署到实时“生产”服务器
我一直在阅读关于多级部署的页面,到目前为止,我已经安装了带有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
server 'SERVER_IP - PORT NUMBER', :app, :web, :primary => true
set :deploy_to, "/var/www/MyApp/" #directory on server
set :symfony_env_prod, "test"
然后,我得到了一个单独的/app/config/development.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
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
有人能解释一下“任务”指的是什么吗


谢谢

require'capistrano/ext/multistage'
移动到
deploy.rb的最后一行,或者至少将
集合:stages,%w(生产阶段开发)
移动到它前面。

另一个问题,我是否必须在3台服务器上初始化GIT,然后才能从本地部署,因为我现在遇到GIT克隆错误?这取决于错误,但可能与部署密钥有关。查看capifony文档的代理转发部分,看看这是否有帮助
ssh\u选项[:forward\u agent]=true
谢谢。现在,我在“创建缓存目录”上打了一个绿色的勾号,但在“为共享目录创建符号链接”上打了一个红色的叉号,创建符号链接时出现错误“/var/www/MyApp/releases/20130209125336/web/uploads”***[err::x.xx.xx.xxx]:在我的开发服务器上/var/www/MyApp/内没有创建此类文件或目录A/releases/directory和/shared/web/uploads/和/shared/app/logs/目录,但没有其他内容。