He buscado todos los problemas relevantes de Capistrano, pero no he podido encontrar algo que haya elucidado nada aquí para mí.Capistrano y Git, arruinando mi vida. "No se puede resolver la revisión de [HEAD] en el repositorio ..."
git version 1.6.4.2
Capistrano v2.5.10
Básicamente, cuando ejecuto mi script casquillo deploy.rb, se conecta al servidor, comienza la ejecución del despliegue: tarea de actualización, a continuación, en el despliegue: tarea update_code:
*** [deploy:update_code] rolling back
* executing "rm -rf /home/user_name/public_html/project_name/releases/20091223094358; true"
servers: ["project_name.com"]
falla con el siguiente error:
/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://[email protected]_ip:path_to_git_repository'. (RuntimeError)
Aquí está mi script deploy, lo he intentado y omitiendo incluyendo:
conjunto: rama 'master'
También pensé que mi camino al repositorio estaba apagado, pero he probado casi todas las permutaciones (absoluta, no absoluta, sufijo .git, sin sufijo). Definitivamente hay un repositorio de git al descubierto en el camino que estoy señalando.
** Tengo varios proyectos alojados en una porción. Los otros proyectos también son un proyecto de rieles, pero se está ejecutando SVN. Las implementaciones de Capistrano funcionan bien.
Cualquier sugerencia en la dirección correcta o cualquier idea ayudaría a reducir la cantidad de bebida que planeo hacer si no puedo resolver esto. (Caminos/IPS ofuscado, no te hackeo yo bro!)
set :application, "project1"
set :user, "username"
set :repository, "ssh://[email protected]/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
Este fue el mensaje más relevante (extremadamente relevante, incluso), pero realmente no pude averiguar lo que estaban diciendo la solución es. Soy bastante nuevo con las configuraciones de git/capistrano.
Gracias! No sabía que podía establecer ambas variables, ¡pero funcionó! – Andrew