Capistrano: implementación con el repository compartido de git

Estoy intentando configurar Capistrano para implementar mi proyecto con múltiples usuarios de git. Donde trabajo, no tiene (y no quiere) un usuario de git genérico, como 'git'. Entonces, la configuration de implementación está relacionada con el usuario que ejecuta 'cap deploy'.

Como puedes ver en el file config.rb:

set :application, "mywebsite" set :repository, "ssh://#{scm_user}@myserver.com/repo.git" set :scm, :git set :scm_verbose, true set :deploy_via, :remote_cache set :git_enable_submodules, 1 

desarrollo.rb

 set :deploy_to, "/var/www/html" set :user, "myuser" set :password, "mypassword" set :scm_passphrase, "mypassword" 

Y el file cat ~ / .caprc:

 set :scm_user, "myuser" 

Funciona para el usuario que realizó la primera implementación. Cuando otros usuarios intentan hacer lo mismo en sus propias máquinas, no está funcionando.

El error está relacionado con git. Parece que Git está atando al usuario que hizo la clonación de git en la primera implementación

Básicamente en estas líneas:

 executing locally: "git ls-remote ssh://[email protected]/repo.git HEAD" * executing "if [ -d /var/www/html/shanetworking/cached-copy ]; then cd /var/www/html/shanetworking/cached-copy && git fetch origin && git fetch --tags origin && git reset --hard 88d6aa98c52babe9368cf2bed36741f0f0b93ff2 && git submodule init && git submodule sync && export GIT_RECURSIVE=$([ ! \"`git --version`\" \\< \"git version 1.6.5\" ] && echo --recursive) && git submodule update --init $GIT_RECURSIVE && git clean -d -x -f; else git clone ssh://[email protected]/repo.git /var/www/html/shanetworking/cached-copy && cd /var/www/html/shanetworking/cached-copy && git checkout -b deploy 88d6aa98c52babe9368cf2bed36741f0f0b93ff2 && git submodule init && git submodule sync && export GIT_RECURSIVE=$([ ! \"`git --version`\" \\< \"git version 1.6.5\" ] && echo --recursive) && git submodule update --init $GIT_RECURSIVE; fi" 

Cuando intenté depurar este problema, accedí a la máquina del server con la count ssh de THEOTHERUSER y git fetch --tags origin . Pide escribir el passwork de otro usuario.

¿Alguien sabe qué puedo hacer para permitir que cualquier usuario pueda realizar un deployment?

ACTUALIZAR:

Qué era necesario hacer:

 set :remote, "#{scm_user}" set :branch, "master" 

http://ruby-doc.org/gems/docs/c/capistrano-edge-2.5.6/Capistrano/Deploy/SCM/Git.html

¿Qué pasa si reemplaza la línea de repository a esto?

 set :repository, "ssh://myserver.com/repo.git" 

Si desea implementar un repository privado como un usuario no genérico, debe configurar el reenvío del agente ssh. De esa forma, sus keys ssh también se usarán en el server.

Consulte la extensa documentation de GitHub sobre ese tema.