2014-05-24 16 views
14

tôi nhận được đầu ra sau khi triển khai:phương pháp xác định 'chạy' cho chính: Object

cap aborted! 
NoMethodError: undefined method `run' for main:Object 
config/deploy.rb:37:in `block (2 levels) in <top (required)>' 
/var/lib/gems/1.9.1/gems/capistrano-3.2.1/lib/capistrano/dsl/task_enhancements.rb:12:in `block in after' 
/var/lib/gems/1.9.1/gems/capistrano-3.2.1/lib/capistrano/application.rb:15:in `run' 
/var/lib/gems/1.9.1/gems/capistrano-3.2.1/bin/cap:3:in `<top (required)>' 
Tasks: TOP => deploy:permissions 
(See full trace by running task with --trace) 
The deploy has failed with an error: #<NoMethodError: undefined method `run' for main:Object> 

Tôi đang sử dụng Capistrano Version: 3.2.1 (Rake Version: 10.3.2). các triển khai hoạt động tốt, nhưng tôi đã tạo ra một nhiệm vụ sau khi triển khai để thay đổi chủ sở hữu của việc phát hành triển khai trông như vậy:

namespace :deploy do 
    task :permissions do 
     run "chown -R :#{fetch(:group)} #{deploy_to} && chmod -R g+s #{deploy_to}" 
    end 
end 

after :deploy, "deploy:permissions" 

vars được định nghĩa một cách chính xác (i cố định mà lỗi trước đó) nhưng tôi có được điều này mất tích lỗi phương pháp phương pháp chạy và tôi không biết tại sao.

+1

nó hoạt động ngay bây giờ khi chỉ định nơi tôi muốn chạy mã bằng cách gọi 'on'. và tôi phải thay thế lệnh chạy bằng lệnh thực thi. – agro

Trả lời

18

Mã của bạn sử dụng cú pháp 2.x, trong khi phiên bản của bạn là 3.x. Trong cú pháp 3.x, cú pháp trông giống như sau:

namespace :deploy do 
    on roles :all do 
    execute :chown, "-R :#{fetch(:group)} #{deploy_to} && chmod -R g+s #{deploy_to}" 
    end 
end 
+0

tôi nghĩ rằng tôi đã trộn lẫn một số cách thực hiện cho các phiên bản giới hạn khác nhau. nó hoạt động ngay bây giờ, do đó, thx! – agro

+0

@Gergo Erdosi: Điều gì có thể là tương đương của 'namespace: myapp làm nhiệm vụ: restart_webserver làm # Khởi động lại Web Server chạy "dịch vụ sudo apache2 restart" cuối cuối sau khi "triển khai", "myapp: restart_webserver"' –

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