Я искал все соответствующие проблемы Capistrano, но не мог найти что-то, что даже объяснило бы здесь что-нибудь для меня.
git version 1.6.4.2
Capistrano v2.5.10
Обычно, когда я запускаю мой скрипт cap deploy.rb, он подключается к серверу, начинает выполнять задачу deploy: update, затем в задаче deploy: update_code:
*** [deploy:update_code] rolling back
* executing "rm -rf /home/user_name/public_html/project_name/releases/20091223094358; true"
servers: ["project_name.com"]
Сбой из-за следующей ошибки:
/Library/Ruby/Gems/1.8/gems/capistrano-2.5.10/lib/capistrano/recipes/deploy/scm/git.rb:231:in `query_revision': Unable to resolve revision for 'master' on repository 'ssh://git@slice_ip:path_to_git_repository'. (RuntimeError)
Вот мой сценарий развертывания, который я пытался включить и пропустить:
набор: филиал 'мастер'
Я также просто думал, что мой путь к хранилищу отключен, но я пробовал почти каждую перестановку (абсолютный, а не абсолютный, суффикс .git, без суффикса). На пути, на который я указываю, определенно есть пустой git-репозиторий.
** У меня есть несколько проектов, размещенных на одном слайсе. Другие проекты также являются рельсовыми, но работают под управлением SVN. Развертывания Capistrano работают нормально.
Любые указатели в правильном направлении или любые идеи помогут уменьшить количество выпивки, которую я планирую выпить, если я не могу понять это. (Пути / IP-адреса запутаны, не взломайте меня, братан!)
set :application, "project1"
set :user, "username"
set :repository, "ssh://git@67.24.9.133/home/git/project1.git"
set :branch, "master"
set :port, 696969
set :deploy_to, "/home/username/public_html/#{application}"
set :scm, :git
role :app, application
role :web, application
role :db, application, :primary => true
# deployment via remote client (workstation)
set :deploy_via, :copy
set :runner, user
# mod_rails
namespace :deploy do
desc "Restarting mod_rails with restart.txt"
task :restart, :roles => :app, :except => { :no_release => true } do
run "touch #{current_path}/tmp/restart.txt"
end
[:start, :stop].each do |t|
desc "#{t} task is a no-op with mod_rails"
task t, :roles => :app do ; end
end
end
Это был самый релевантный пост (даже очень релевантный), но я не мог понять, о чем они говорили. Я довольно новичок с конфигами git / capistrano.
https://capistrano.lighthouseapp.com/projects/8716/tickets/56-query_revision-unable-to-resolve-revision-for-head-on-repository