我目前正在使用 Symfony2 和 Gitflow 开发一个网站。我有 2 个外部服务器,分别称为“开发”、“暂存”和“生产”,以及 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
然后,我得到了一个单独的 /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
有人能解释一下“任务”指的是什么吗?
谢谢