I just answered my own question.

Git doesn't understand URLs like "[EMAIL PROTECTED]:
8888:project.git", so normally one alters their ~/.ssh/config file to
compensate.  Unfortunately Net::SSH ignores this file.  This basically
demands that one use the standard SSH port for deploying with Git,
Capistrano, and SSH.

James

On Mar 3, 11:28 am, "James H." <[EMAIL PROTECTED]> wrote:
> Greetings.
>
> I'm trying to deploy an application that uses the Git SCM, which has
> access managed by Gitosis.  All operations are done with SSH over a
> non-standard port with Gitosis.  I've configured my deploy.rb
> correctly (ssh_options[:port] = some_port_number), but it seems that
> the Git deploy scheme is ignoring this configuration _after_ it asks
> me for my initial SSH password (implying that it gets half of this
> done correctly):
>
> -- BEGIN --
>
>     triggering start callbacks for `deploy'
>   * executing `multistage:ensure'
> *** Defaulting to `staging'
>   * executing `staging'
>   * executing `deploy'
>   * executing `deploy:update'
>  ** transaction: start
>   * executing `deploy:update_code'
>     updating the cached checkout on all servers
>   * executing "if [ -d /home/deploy/project/shared/git_master ]; then
> cd /home/deploy/project
> /shared/git_master && git config remote.user.url
> [EMAIL PROTECTED]:project.git &
> & git config remote.user.fetch +refs/heads/*:refs/remotes/user/* &&
> git fetch
>  user && git reset --hard 9bfc1ce05eff7c4cbbb379fd17d149fc87cc39e8;
> else git clon
> e -o user [EMAIL PROTECTED]:project.git /home/deploy/project/shared/
> git_master && cd
>  /home/deploy/project/shared/git_master && git checkout -b deploy
> 9bfc1ce05eff7c4cbbb379f
> d17d149fc87cc39e8; fi"
>     servers: ["staging"]
> Password:
>     [staging] executing command
>  ** [out] Initialized empty Git repository in /home/deploy/p4s/shared/
> git_master/.git
> /
>  ** [err] ssh: connect to host 67.207.141.54 port 22: Connection
> refused
>  ** [err] fatal:
>  ** [err] The remote end hung up unexpectedly
>  ** [err]
>  ** [err] fetch-pack from '[EMAIL PROTECTED]:project.git' failed.
>     command finished
> *** [deploy:update_code] rolling back
>   * executing "rm -rf /home/deploy/project/releases/20080303161535;
> true"
>     servers: ["staging"]
>     [67.207.141.54] executing command
>     command finished
> command "if [ -d /home/deploy/project/shared/git_master ]; then cd /
> home/deploy/project/share
> d/git_master && git config remote.user.url
> [EMAIL PROTECTED]:project.git && git
> config remote.project.fetch +refs/heads/*:refs/remotes/project/* &&
> git fetch user
> man && git reset --hard 9bfc1ce05eff7c4cbbb379fd17d149fc87cc39e8; else
> git clone -o user [EMAIL PROTECTED]:project.git /home/deploy/project/
> shared/git_master && cd /home
> /deploy/project/shared/git_master && git checkout -b deploy
> 9bfc1ce05eff7c4cbbb379fd17d14
> 9fc87cc39e8; fi" failed on staging
>
> -- END --
>
> I've configured my SCM settings as follows:
>
> -- SCM SETTINGS BEGIN --
>
> ssh_options[:port] = some_port_number
> set :scm, :git
> set :branch,  "stable"
> set :scm_url, "staging" # In actuality, this is set to the IP address
> set :scm_passphrase, proc { Capistrano::CLI.password_prompt("SSH
> passphrase: ") }
>
> set :repository,  "[EMAIL PROTECTED]:project.git"
> set :remote, scm_user # Set in ~/.caprc
> set :repository_cache, "git_master"
> set :deploy_via, :remote_cache
>
> -- END SCM SETTINGS --
>
> Does anyone have any idea what's going on?  Has anyone else deployed
> with Gitosis managing their Git repository before?  Any advice would
> be much appreciated.
>
> James H.
--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to