2010-09-30 24 views
9

Bir dağıtım dağıtımı "dağıt" kullanıcı hesabı üzerinden yapmaya çalıştığımda, takip hatası alıyorum. i "kök" belirtirsenizcapistrano dağıtım kabusu

1782001..ae10d1b master -> master 
** transaction: start 
    * executing `deploy:update_code' 
    updating the cached checkout on all servers 
    executing locally: "git ls-remote [email protected]:username/app_name.git master" 
    * executing "if [ -d /var/www/app_name/shared/cached-copy ]; then cd /var/www/app_name/shared/cached-copy && git fetch -q origin && git reset -q --hard ae10d1bfe43820d8d69bbc92761a3f666cf56765 && git clean -q -d -x -f; else git clone -q [email protected]:username/app_name.git /var/www/app_name/shared/cached-copy && cd /var/www/app_name/shared/cached-copy && git checkout -q -b deploy ae10d1bfe43820d8d69bbc92761a3f666cf56765; fi" 
    servers: ["173.230.158.13"] 
    [173.230.158.13] executing command 
** [173.230.158.13 :: out] error: cannot open .git/FETCH_HEAD: Permission denied 
** 
    command finished 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/app_name/releases/20100930022459; true" 
    servers: ["173.230.158.13"] 
    [173.230.158.13] executing command 
    command finished 
failed: "sh -c 'if [ -d /var/www/app_name/shared/cached-copy ]; then cd /var/www/app_name/shared/cached-copy && git fetch -q origin && git reset -q --hard ae10d1bfe43820d8d69bbc92761a3f666cf56765 && git clean -q -d -x -f; else git clone -q [email protected]:username/app_name.git /var/www/app_name/shared/cached-copy && cd /var/www/app_name/shared/cached-copy && git checkout -q -b deploy ae10d1bfe43820d8d69bbc92761a3f666cf56765; fi'" on 173.230.158.13 

ben

aynı tarifi [email protected] sunucu ve ssh üzerinde dağıtma hesabını kullanarak bir "git klon" yapabileceği doğrulayabilir gayet güzel çalışıyor olarak: kullanıcı değişkeni. grup değişkeni bu tarifi kapsamaz:

İşte ben tam olarak ne yaptığını emin değilim,

http://pastie.org/1189919 Ayrıca

benim deploy.rb

olduğunu.

drwxr-xr-x 14 deploy www-data 4096 2010-09-29 20:38 . 
drwxr-xr-x 10 deploy www-data 4096 2010-09-29 20:38 .. 
drwxr-xr-x 7 deploy www-data 4096 2010-09-29 13:13 app 
-rwxr-xr-x 1 deploy www-data 240 2010-09-29 20:38 Capfile 
drwxr-xr-x 5 deploy www-data 4096 2010-09-29 20:38 config 
drwxr-xr-x 4 deploy www-data 4096 2010-09-29 20:38 db 
drwxr-xr-x 2 deploy www-data 4096 2010-09-29 20:38 doc 
drwxr-xr-x 9 deploy www-data 4096 2010-09-29 20:38 generate 
drwxr-xr-x 8 deploy www-data 4096 2010-09-29 20:38 .git 
-rwxr-xr-x 1 deploy www-data 156 2010-09-29 20:38 .gitignore 
-rwxr-xr-x 1 deploy www-data 145 2010-09-29 20:38 .gitignore~ 
drwxr-xr-x 3 deploy www-data 4096 2010-09-29 20:38 lib 
lrwxrwxrwx 1 deploy www-data  28 2010-09-29 20:38 log -> /var/www/voteable/shared/log 
drwxr-xr-x 5 deploy www-data 4096 2010-09-29 20:38 public 
-rwxr-xr-x 1 deploy www-data 457 2010-09-29 20:38 Rakefile 
-rwxr-xr-x 1 deploy www-data 10011 2010-09-29 20:38 README 
-rwxr-xr-x 1 deploy www-data  41 2010-09-29 20:38 REVISION 
drwxr-xr-x 3 deploy www-data 4096 2010-09-29 20:38 script 
drwxr-xr-x 6 deploy www-data 4096 2010-09-29 20:38 test 
drwxr-xr-x 2 deploy www-data 4096 2010-09-29 20:38 tmp 
-rwxr-xr-x 1 deploy www-data 810605 2010-09-29 20:38 uninstall 
drwxr-xr-x 3 deploy www-data 4096 2010-09-29 13:13 vendor 

cevap

11

Sen root olarak bir ödeme yapmak asla veya bu sorun haline çalıştırmak için gidiyoruz böylece .git ait olduğundan emin olmamız gerekir.

chmod -R ug+rw .git bu sefer sorunu çözecektir, ancak iş arkadaşlarınızın el ile git pull s yapmasını engellemeye veya grup izinlerini doğru şekilde ayarlama konusunda çalışkan olmak zorundasınız.

+0

Kim size "siz" dir. dağıtım hesabı? Lütfen aynı/benzer problemin diğer gönderisini de görebilirsiniz .. ilgili http://stackoverflow.com/questions/3827331/strange-ssh-issues-with-github – badnaam

+0

Dağıtım hesabınızdır. .git/FETCH_HEAD'inizde bir 'ls -la' yaparsanız, root'a ait olduğunu görürsünüz. Bu yüzden ya onu dağıtıcı kullanıcıya seçmeniz gerekecek ya da dağıtıcı kullanıcı bunu düzenleyebilsin diye chmod edin. –

+0

yYou kesinlikle doğru. Bu notta .. OP/www/var/app dizinindeki izin ile güncellendi. Nasıl olması gerektiği gibi olmalı ya da www-data buna sahip olmalı mı? Ben bu dizinin sahibi www-data veya dağıtım – badnaam