В последние несколько часов я боролся с Capistrano за автоматизацию развертывания приложения Zend Framework. Хотелось бы немного руководства.
Моя структура каталогов выглядит следующим образом
<project name>/
Capfile
application/
configs/
deploy/
staging.rb
application.ini
deploy.rb
controllers/
models/
.
.
.
other framework folders and files
Мой Capfile
require 'rubygems'
require 'railsless-deploy'
require 'capistrano/ext/multistage'
load 'deploy' if respond_to?(:namespace) # cap2 differentiator
Мой файл deploy.rb (информация scm опущена)
set :application, "App"
set :stages, %w(staging production)
set :default_stage, "staging"
set :stages_dir, "application/configs/deploy/"
default_run_options[:pty] = true
set :deploy_via, :remote_cache
set :scm, "git"
set :ssh_options, {:forward_agent => true}
set :repository, "git@github.com:<details>"
set :branch, "staging"
И мой staging.rb внутри моей папки развертывания (учетные данные не указаны)
role :app, "host name"
role :web, "host name"
role :db, "host name", :primary => true
set :deploy_to, "/httpdocs/"
set :user, "username"
set :password, "password"
Я использую VPS, но я не думаю, что я нахожусь на этапе, когда мне нужно отлаживать на стороне сервера. Капистрано говорит, что он не может определить постановочную задачу, даже если я ее определил. Ошибка
triggering load callbacks
the task `staging' does not exist
Что я делаю не так?
Спасибо!