2014-06-19 17 views
5

Trong khi triển khai một ứng dụng Rails với Capistrano trên Ubuntu 14.04, tôi nhận được lỗi sau: fileCapistrano đường dẫn đích đã tồn tại, không phải là một thư mục rỗng

fatal: destination path '/var/www/APP-NAME/repo' already exists and is not an empty directory. 


cf5a389e] Running /usr/bin/env [ -f /var/www/rd/repo/HEAD ] on LINODE-INSTANCE-IP 
DEBUG[cf5a389e] Command: [ -f /var/www/rd/repo/HEAD ] 
DEBUG[cf5a389e] Finished in 0.005 seconds with exit status 1 (failed). 
DEBUG[8899b95c] Running /usr/bin/env if test ! -d /var/www/rd; then echo "Directory does not exist '/var/www/rd'" 1>&2; false; fi on LINODE-INSTANCE-IP 
DEBUG[8899b95c] Command: if test ! -d /var/www/rd; then echo "Directory does not exist '/var/www/rd'" 1>&2; false; fi 
DEBUG[8899b95c] Finished in 0.005 seconds with exit status 0 (successful). 
INFO[fc5f524b] Running /usr/bin/env git clone --mirror GIT_REPO_URL /var/www/APP-NAME/repo on LINODE-INSTANCE-IP 
DEBUG[fc5f524b] Command: cd /var/www/APP-NAME && (GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rd/git-ssh.sh /usr/bin/env git clone --mirror GIT-REPO-URL /var/www/APP-NAME/repo) 
DEBUG[fc5f524b] fatal: destination path '/var/www/APP-NAME/repo' already exists and is not an empty directory. 

Dưới đây là cấu hình:

only reason cho lỗi này tôi có thể tìm thấy trực tuyến là;

same host in more than one role, so that they're racing? For example I mean that you might have the same IP address defined as an :app role host more than once.

Tôi đoán là không phù hợp với các tệp cấu hình ở trên.

Trả lời

11

Tôi gặp vấn đề tương tự. Lý do ở định nghĩa kép về vai trò và/hoặc máy chủ. Cố gắng loại bỏ

server 'SERVER-IP', user: 'USERNAME', roles: %w{app} 

trong production.rb và

role :app, "SERVER-IP" 

trong deploy.rb. Cú pháp thứ hai có vẻ chỉ là cú pháp đơn giản trong khi trước đây - được mở rộng, vì vậy bạn thực tế bạn khai báo các vai trò hai lần (ba lần chính xác hơn: 2 trong production.rb và 1 trong deploy.rb). Hy vọng nó giúp.

+0

Cảm ơn @leger. Tôi đã xóa 2 dòng trên nhưng vẫn tồn tại lỗi khi triển khai. Mặc dù tôi nghĩ rằng tôi đang đi đúng hướng, đã bị mắc kẹt trong 3 giờ qua. –

+3

Hãy thử xóa APP-NAME trên máy chủ thông qua 'rm -rf' và triển khai lại. Tôi đã chạy tất cả các lần lặp lại của mình theo cách này, cho đến khi triển khai kết thúc thành công. Đôi khi với 'sudo reboot' :) – Leger

+0

Woah !!! Cuối cùng. Bliss. : D –

Các vấn đề liên quan