Hey guys,

i am fairly new to capistrano.

I am desperately trying to deploy a freshly created git-project to a
totally empty directory on my test-server.
So far, this has been a friggin nightmare unfortunately:
- the code checkout itself fails no matter what i am trying
- the error messages i get back are weird and not helpfull at all.

Here is my deploy.rb (without tasks since the code checkout itself is
not working):

#############################################################
#    Application
#############################################################

set :application, "addloops"
set :deploy_to, "/var/www/#{application}"

#############################################################
#    Settings
#############################################################

set :use_sudo, true
set :port, xxxx

#############################################################
#    Servers
#############################################################

set :user, 'xxxx'
set :password, 'xxxxx'
role :app, "addloops.com"
role :web, "addloops.com"
role :db,  "addloops.com", :primary => true


#############################################################
#    SCM
#############################################################

set :scm, :git
set :repository, "."
set :deploy_via, :checkout
#set :branch, "master"

Now, a 'cap deploy:setup' is ok:

----Server------
ls -al /var/www/addloops/
total 8
drwxrwxrwx 2 www-data root 4096 2009-02-28 15:41 .
drwxr-xr-x 5 root     root 4096 2009-02-27 14:12 ..

-----Client-----
cap deploy:setup
  * executing `deploy:setup'
  * executing "sudo -p 'sudo password: ' mkdir -p /var/www/addloops /
var/www/addloops/releases /var/www/addloops/shared /var/www/addloops/
shared/system /var/www/addloops/shared/log /var/www/addloops/shared/
pids && sudo -p 'sudo password: ' chmod g+w /var/www/addloops /var/www/
addloops/releases /var/www/addloops/shared /var/www/addloops/shared/
system /var/www/addloops/shared/log /var/www/addloops/shared/pids"
    servers: ["addloops.com"]
    [addloops.com] executing command
    command finished

-----Server again--------
ls -al /var/www/addloops/
total 16
drwxrwxrwx 4 www-data root 4096 2009-02-28 15:42 .
drwxr-xr-x 5 root     root 4096 2009-02-27 14:12 ..
drwxrwxr-x 2 root     root 4096 2009-02-28 15:42 releases
drwxrwxr-x 5 root     root 4096 2009-02-28 15:42 shared

-> Ok, so that went fine.

But the checkout fails:

cap deploy:cold
  * executing
`deploy:cold'
  * executing
`deploy:update'
 ** transaction:
start
  * executing
`deploy:update_code'
    executing locally: "git ls-remote .
HEAD"
  * executing "git clone -q . /var/www/addloops/releases/
20090228144319 && cd /var/www/addloops/releases/20090228144319 && git
checkout -q -b deploy 287dc08148f7ebcc271b82687b3704cf539115de &&
(echo 287dc08148f7ebcc271b82687b3704cf539115de > /var/www/addloops/
releases/20090228144319/
REVISION)"
    servers:
["addloops.com"]
    [addloops.com] executing
command
 ** [addloops.com :: err]
mkdir:
 ** [addloops.com :: err] cannot create directory `/var/www/addloops/
releases/
20090228144319'
 ** [addloops.com :: err] : Permission
denied
 ** [addloops.com ::
err]
 ** [addloops.com :: err] usage: git-clone [options] [--] <repo>
[<dir>]
 ** [addloops.com ::
err]
 ** [addloops.com ::
err]
 ** [addloops.com :: err] -
n
 ** [addloops.com ::
err] ,
 ** [addloops.com :: err] --no-
checkout
 ** [addloops.com :: err]      don't create a
checkout
 ** [addloops.com ::
err]
 ** [addloops.com :: err] --
bare
 ** [addloops.com :: err]                 create a bare
repository
 ** [addloops.com ::
err]
 ** [addloops.com :: err] --
naked
 ** [addloops.com :: err]                create a bare
repository
 ** [addloops.com ::
err]
 ** [addloops.com :: err] -
l
 ** [addloops.com ::
err] ,
 ** [addloops.com :: err] --
local
 ** [addloops.com :: err]            to clone from a local repository

The problem seems to be:

cannot create directory `/var/www/addloops/releases/
20090228144319'

which is odd, because my specified user can do anything with sudo
(even without password for testing purposes):

On the server:

sudo mkdir /var/www/addloops/releases/20090228144319

-> is working!

Now, since the error message is completely useless to me, i can only
speculate what's going wrong here.

- maybe this:
set :repository, "."
in my deploy.rb? (when i execute capistrano i am within my local git-
repo)
- or maybe this:
set :deploy_via, :checkout
?

Any help would be greatly appreciated since i am totally stuck.......

--~--~---------~--~----~------------~-------~--~----~
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