2013-10-22 13 views
7

Tôi đang sử dụng phiên bản mới nhất của ứng dụng Capistrano w/my Rails 4. Khi chạy cap dpeloy. Tôi nhận được rất nhiều đầu ra bao gồm cả lỗi này:Capistrano V3 không hoạt động trên database.yml

DEBUG [04b6e226] Running /usr/bin/env [ -f /var/www/skateboxes/releases/20131022135522/config/database.yml ] on 162.243.33.179 
DEBUG [04b6e226] Command: [ -f /var/www/skateboxes/releases/20131022135522/config/database.yml ] 
DEBUG [04b6e226] Finished in 0.280 seconds with exit status 1 (failed). 

Làm cách nào để tìm hiểu điều gì đang xảy ra ở đây?

Update # 1

tôi nên nói rằng tôi đã gitignored config/database.yml (như đã được đề xuất bởi các tài liệu capistrano). sau đó tôi thêm vào phần sau đây để sau đó tôi config/deploy.rb

set :linked_files, %w{config/database.yml} 

Tôi tạo ra một tập tin trên VPS của tôi tại /var/www/skateboxes/shared/config/database.yml.

Tôi không hiểu cách thức hoạt động của linked_files?

Update # 2

Nó chỉ ra rằng các tập tin thực sự được liên kết shared/conf/database.yml-current/config/database.yml vì vậy bây giờ tôi đang bối rối là tại sao nó nói failed

Update # 3

Đây là toàn bộ kết quả triển khai của tôi

DEBUG Uploading /tmp/git-ssh.sh 0.0% 
INFO Uploading /tmp/git-ssh.sh 100.0% 
INFO [37fffef8] Running /usr/bin/env chmod +x /tmp/git-ssh.sh on 162.243.33.179 
DEBUG [37fffef8] Command: (RAILS_ENV=production /usr/bin/env chmod +x /tmp/git-ssh.sh) 
INFO [37fffef8] Finished in 0.282 seconds with exit status 0 (successful). 
DEBUG [d8542e52] Running /usr/bin/env git ls-remote [email protected]:kyledecot/skateboxes.git on 162.243.33.179 
DEBUG [d8542e52] Command: (RAILS_ENV=production GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/git-ssh.sh /usr/bin/env git ls-remote [email protected]:kyledecot/skateboxes.git) 
DEBUG [d8542e52] Finished in 1.448 seconds with exit status 0 (successful). 
DEBUG [d8542e52] e0f96188b9567a84048a0e1238f219abc6351607 HEAD 
DEBUG [d8542e52] e0f96188b9567a84048a0e1238f219abc6351607 refs/heads/master 
DEBUG [d8542e52] Finished in 1.448 seconds with exit status 0 (successful). 
INFO [5a13328b] Running /usr/bin/env mkdir -pv /var/www/skateboxes/shared /var/www/skateboxes/releases on 162.243.33.179 
DEBUG [5a13328b] Command: (RAILS_ENV=production /usr/bin/env mkdir -pv /var/www/skateboxes/shared /var/www/skateboxes/releases) 
INFO [5a13328b] Finished in 0.719 seconds with exit status 0 (successful). 
INFO [293e065b] Running /usr/bin/env mkdir -pv /var/www/skateboxes/shared/config on 162.243.33.179 
DEBUG [293e065b] Command: (RAILS_ENV=production /usr/bin/env mkdir -pv /var/www/skateboxes/shared/config) 
INFO [293e065b] Finished in 0.780 seconds with exit status 0 (successful). 
DEBUG [4eb81576] Running /usr/bin/env [ -f /var/www/skateboxes/shared/config/database.yml ] on 162.243.33.179 
DEBUG [4eb81576] Command: [ -f /var/www/skateboxes/shared/config/database.yml ] 
DEBUG [4eb81576] Finished in 0.744 seconds with exit status 0 (successful). 
DEBUG [89a9e1fa] Running /usr/bin/env [ -f /var/www/skateboxes/repo/HEAD ] on 162.243.33.179 
DEBUG [89a9e1fa] Command: [ -f /var/www/skateboxes/repo/HEAD ] 
DEBUG [89a9e1fa] Finished in 0.734 seconds with exit status 0 (successful). 
INFO The repository mirror is at /var/www/skateboxes/repo 
DEBUG [3cc4d694] Running /usr/bin/env if test ! -d /var/www/skateboxes/repo; then echo "Directory does not exist '/var/www/skateboxes/repo'" 1>&2; false; fi on 162.243.33.179 
DEBUG [3cc4d694] Command: if test ! -d /var/www/skateboxes/repo; then echo "Directory does not exist '/var/www/skateboxes/repo'" 1>&2; false; fi 
DEBUG [3cc4d694] Finished in 0.735 seconds with exit status 0 (successful). 
INFO [1cb24a84] Running /usr/bin/env git remote update on 162.243.33.179 
DEBUG [1cb24a84] Command: cd /var/www/skateboxes/repo && (RAILS_ENV=production /usr/bin/env git remote update) 
DEBUG [1cb24a84] Fetching origin 
DEBUG [1cb24a84] remote: Counting objects: 5, done. 
remote: Compressing objects: 100% (1/1), done. 
DEBUG [1cb24a84] remote: Total 3 (delta 2), reused 3 (delta 2) 
DEBUG [1cb24a84] Unpacking objects: 33% (1/3) 
DEBUG [1cb24a84] Unpacking objects: 66% (2/3) 
Unpacking objects: 100% (3/3), done.jects: 100% (3/3) 
DEBUG [1cb24a84] From github.com:kyledecot/skateboxes 
DEBUG [1cb24a84]  de7f4a1..e0f9618 master  -> master 
INFO [1cb24a84] Finished in 0.817 seconds with exit status 0 (successful). 
DEBUG [edd6c793] Running /usr/bin/env if test ! -d /var/www/skateboxes/repo; then echo "Directory does not exist '/var/www/skateboxes/repo'" 1>&2; false; fi on 162.243.33.179 
DEBUG [edd6c793] Command: if test ! -d /var/www/skateboxes/repo; then echo "Directory does not exist '/var/www/skateboxes/repo'" 1>&2; false; fi 
DEBUG [edd6c793] Finished in 0.732 seconds with exit status 0 (successful). 
INFO [009b81fe] Running /usr/bin/env mkdir -p /var/www/skateboxes/releases/20131022145520 on 162.243.33.179 
DEBUG [009b81fe] Command: cd /var/www/skateboxes/repo && (RAILS_ENV=production GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/git-ssh.sh /usr/bin/env mkdir -p /var/www/skateboxes/releases/20131022145520) 
INFO [009b81fe] Finished in 0.317 seconds with exit status 0 (successful). 
INFO [e9554374] Running /usr/bin/env git archive master | tar -x -C /var/www/skateboxes/releases/20131022145520 on 162.243.33.179 
DEBUG [e9554374] Command: cd /var/www/skateboxes/repo && (RAILS_ENV=production GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/git-ssh.sh /usr/bin/env git archive master | tar -x -C /var/www/skateboxes/releases/20131022145520) 
INFO [e9554374] Finished in 0.356 seconds with exit status 0 (successful). 
INFO [165a7c40] Running /usr/bin/env mkdir -pv /var/www/skateboxes/releases/20131022145520/config on 162.243.33.179 
DEBUG [165a7c40] Command: (RAILS_ENV=production /usr/bin/env mkdir -pv /var/www/skateboxes/releases/20131022145520/config) 
INFO [165a7c40] Finished in 1.174 seconds with exit status 0 (successful). 
DEBUG [c2f7de66] Running /usr/bin/env [ -L /var/www/skateboxes/releases/20131022145520/config/database.yml ] on 162.243.33.179 
DEBUG [c2f7de66] Command: [ -L /var/www/skateboxes/releases/20131022145520/config/database.yml ] 
DEBUG [c2f7de66] Finished in 0.572 seconds with exit status 1 (failed). 
DEBUG [09de2f2c] Running /usr/bin/env [ -f /var/www/skateboxes/releases/20131022145520/config/database.yml ] on 162.243.33.179 
DEBUG [09de2f2c] Command: [ -f /var/www/skateboxes/releases/20131022145520/config/database.yml ] 
DEBUG [09de2f2c] Finished in 0.304 seconds with exit status 1 (failed). 
INFO [05570e6e] Running /usr/bin/env ln -s /var/www/skateboxes/shared/config/database.yml /var/www/skateboxes/releases/20131022145520/config/database.yml on 162.243.33.179 
DEBUG [05570e6e] Command: (RAILS_ENV=production /usr/bin/env ln -s /var/www/skateboxes/shared/config/database.yml /var/www/skateboxes/releases/20131022145520/config/database.yml) 
INFO [05570e6e] Finished in 0.541 seconds with exit status 0 (successful). 
INFO [8499b753] Running /usr/bin/env rm -rf /var/www/skateboxes/current on 162.243.33.179 
DEBUG [8499b753] Command: (RAILS_ENV=production /usr/bin/env rm -rf /var/www/skateboxes/current) 
INFO [8499b753] Finished in 0.762 seconds with exit status 0 (successful). 
INFO [bddc6793] Running /usr/bin/env ln -s /var/www/skateboxes/releases/20131022145520 /var/www/skateboxes/current on 162.243.33.179 
DEBUG [bddc6793] Command: (RAILS_ENV=production /usr/bin/env ln -s /var/www/skateboxes/releases/20131022145520 /var/www/skateboxes/current) 
INFO [bddc6793] Finished in 0.289 seconds with exit status 0 (successful). 
DEBUG [38a6b176] Running /usr/bin/env ls -x /var/www/skateboxes/releases on 162.243.33.179 
DEBUG [38a6b176] Command: (RAILS_ENV=production /usr/bin/env ls -x /var/www/skateboxes/releases) 
DEBUG [38a6b176] Finished in 0.741 seconds with exit status 0 (successful). 
DEBUG [38a6b176] 20131022133912 20131022133939 20131022134435 20131022135522 20131022145350 
DEBUG [38a6b176] 20131022145520 
DEBUG [38a6b176] Finished in 0.741 seconds with exit status 0 (successful). 
INFO Keeping 5 of 6 deployed releases on 162.243.33.179 
INFO [7da6047f] Running /usr/bin/env rm -rf /var/www/skateboxes/releases/20131022133912 on 162.243.33.179 
DEBUG [7da6047f] Command: (RAILS_ENV=production /usr/bin/env rm -rf /var/www/skateboxes/releases/20131022133912) 
INFO [7da6047f] Finished in 0.530 seconds with exit status 0 (successful). 
DEBUG [7cdd5da9] Running /usr/bin/env if test ! -d /var/www/skateboxes/releases; then echo "Directory does not exist '/var/www/skateboxes/releases'" 1>&2; false; fi on 162.243.33.179 
DEBUG [7cdd5da9] Command: if test ! -d /var/www/skateboxes/releases; then echo "Directory does not exist '/var/www/skateboxes/releases'" 1>&2; false; fi 
DEBUG [7cdd5da9] Finished in 0.727 seconds with exit status 0 (successful). 
INFO [906548e8] Running /usr/bin/env echo "Branch master deployed as release 20131022145520 by kyledecot; " >> /var/www/skateboxes/revisions.log on 162.243.33.179 
DEBUG [906548e8] Command: echo "Branch master deployed as release 20131022145520 by kyledecot; " >> /var/www/skateboxes/revisions.log 
INFO [906548e8] Finished in 0.279 seconds with exit status 0 (successful). 
+0

là phần tệp này trong kho lưu trữ git của bạn? chắc chắn bạn đã không .gitignore nó? – phoet

+0

Nó thực sự bị bỏ qua. Tôi đã cập nhật câu hỏi của mình. –

Trả lời

4

Đó không phải là lỗi, xem https://github.com/leehambley/sshkit/pull/33.

Nó nói failed bởi vì đó là không một tập tin, do đó lệnh kiểm tra ([ aka man (1) test) đã thoát với trạng thái 1.

Lệnh trong câu hỏi là sắp ra của this code, sao chép dưới đây:

desc 'Symlink linked files' 
task :linked_files do 
    next unless any? :linked_files 
    on roles :app do 
    execute :mkdir, '-pv', linked_file_dirs(release_path) 

    fetch(:linked_files).each do |file| 
     target = release_path.join(file) 
     source = shared_path.join(file) 
     unless test "[ -L #{target} ]" 
     if test "[ -f #{target} ]" 
      execute :rm, target 
     end 
     execute :ln, '-s', source, target 
     end 
    end 
    end 
end 
desc 'Check files to be linked exist in shared' 
task :linked_files do 
    next unless any? :linked_files 
    on roles :app do |host| 
    linked_files(shared_path).each do |file| 
     unless test "[ -f #{file} ]" 
     error t(:linked_file_does_not_exist, file: file, host: host) 
     exit 1 
     end 
    end 
    end 
end 

Tên nhiệm vụ nói lên tất cả, thực sự, nếu tập tin của bạn được liệt kê trong biến :linked_files, nó phải tồn tại trong shared_path, nếu không nó sẽ khiến Capistrano bị hủy bỏ khi tập tin không tồn tại.

Bạn chưa nói điều này có gây ra việc triển khai của bạn không thành công hay không và vì bạn đã đăng rất ít nhật ký, cho biết không có gì ngoài hành vi bình thường, không ai có thể đoán được.

Bạn dường như đăng các bản ghi từ các nhiệm vụ Symlink linked files, mà là vụ phải fail trên config/database.yml nếu nó không tồn tại, nó có failed để tìm thấy nó, vì vậy nó không phải bị xóa.

+0

OK, tôi đã cập nhật câu hỏi của mình với các chi tiết khác. Có lẽ tôi đang bối rối về những gì thực sự được cho là đang xảy ra. –

+0

Xem các chỉnh sửa của tôi (không chắc chắn nếu SO thông báo cho bạn về các chỉnh sửa) –

+0

Nó không gây ra việc triển khai thất bại. Tôi đã cập nhật bài viết của mình với toàn bộ kết quả đầu ra. –

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