Capifony и Git голые репо - PullRequest
       20

Capifony и Git голые репо

0 голосов
/ 13 октября 2011

У меня есть этот файл deploy.rb:

set :application, "UDA"
set :domain,      "10.0.0.59"
set :deploy_to,   "/home/gitek/www/uda/"
set :app_path,    "app"

set :user,        "gitek"

ssh_options[:port] = 22
set :php_bin, "/usr/bin/php"

set :scm,         :git
#set  :git_enable_submodules,  1
set  :repository,             "#{domain}:/var/repos/uda.git"
set  :deploy_via,             :remote_cache

# Or: `accurev`, `bzr`, `cvs`, `darcs`, `subversion`, `mercurial`, `perforce`, `subversion` or `none`

set :model_manager, "doctrine"
# Or: `propel`
role :web,        domain                         # Your HTTP server, Apache/etc
role :app,        domain                         # This may be the same as your `Web` server
role :db,         domain, :primary => true       # This is where Rails migrations will run

set  :keep_releases,  5
set :use_sudo,    false

set :update_vendors, true
ssh_options[:forward_agent] = true


set :shared_files,      ["app/config/parameters.ini"]
set :shared_children,     [app_path + "/logs", web_path + "/uploads", "vendor"]

Мое репо, это чистое репо, и оно находится на том же сервере, в "/var/repos/".

Дело в том, что я получаю эту ошибку, когда выполняю команду cap deploy:

gitek@/Applications/MAMP/htdocs/uda$ cap deploy
  * executing `deploy'
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    updating the cached checkout on all servers
    executing locally: "git ls-remote 10.0.0.59:/var/repos/uda.git HEAD"
    command finished in 5487ms
  * executing "if [ -d /home/gitek/www/uda/shared/cached-copy ]; then cd /home/gitek/www/uda/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 051be2de2155dfac7cfb45df0b4c2fb6ca633555 && git clean -q -d -x -f; else git clone -q 10.0.0.59:/var/repos/uda.git /home/gitek/www/uda/shared/cached-copy && cd /home/gitek/www/uda/shared/cached-copy && git checkout -q -b deploy 051be2de2155dfac7cfb45df0b4c2fb6ca633555; fi"
    servers: ["10.0.0.59"]
    [10.0.0.59] executing command
 ** [10.0.0.59 :: err] Permission denied, please try again.
 ** [10.0.0.59 :: err] Permission denied, please try again.
 ** [10.0.0.59 :: err] Permission denied (publickey,password).
 ** [10.0.0.59 :: err] fatal: The remote end hung up unexpectedly
    command finished in 754ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/gitek/www/uda/releases/20111013112554; true"
    servers: ["10.0.0.59"]
    [10.0.0.59] executing command
    command finished in 20ms
failed: "sh -c 'if [ -d /home/gitek/www/uda/shared/cached-copy ]; then cd /home/gitek/www/uda/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 051be2de2155dfac7cfb45df0b4c2fb6ca633555 && git clean -q -d -x -f; else git clone -q 10.0.0.59:/var/repos/uda.git /home/gitek/www/uda/shared/cached-copy && cd /home/gitek/www/uda/shared/cached-copy && git checkout -q -b deploy 051be2de2155dfac7cfb45df0b4c2fb6ca633555; fi'" on 10.0.0.59
gitek@/Applications/MAMP/htdocs/uda$ 

Я думаю, что проблема возникает из-за того, что мое git-репо голое ...

Кто-нибудь знает, как решить эту проблему?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 20 октября 2011

Измените файл deploy.rb и установите репозиторий так:

set: хранилище, "ssh: //USER@SERVERIP/var/repos/uda.git"

Не забудьте добавить в autorized_keys2 (на вашем сервере 10.0.0.59?)

cat .ssh / id_rsa.pub | ssh USER @ SERVER "cat >> .ssh / authorized_keys2"

Надеюсь, это поможет. У меня это работает.

0 голосов
/ 13 октября 2011

Проблема в том, что вы пытаетесь получить доступ к серверу с помощью сети, и git не может пройти аутентификацию из-за отсутствующего ключа SSH.

Если сервер находится на той же машине развертывания, он неимеет смысл клонировать с помощью удаленного соединения.Клонируйте локальный репозиторий, передав путь к репозиторию.

set  :repository,  "/var/repos/uda.git"
...