2014-04-27 11 views
5

Tôi đang cố triển khai ứng dụng đường ray 4.1.0 với mẫu này https://github.com/TalkingQuickly/capistrano-3-rails-template/blob/master/Capfile. Khi tôi chạyCapistrano 3.1 compile_assets_locally

cap production deploy:setup_config 

Tôi nhận được thông báo lỗi

cap aborted! 
Don't know how to build task 'deploy:compile_assets_locally' 

Capfile

require 'capistrano/setup' 
require 'capistrano/deploy' 
require 'capistrano/rbenv' 
require 'capistrano/rails/migrations' 
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined. 
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r } 
Dir.glob('lib/capistrano/**/*.rb').each { |r| import r } 

deploy.rb

set :application, 'myapp' 

set :deploy_user, 'deployer' 

set :scm, :git 

set :repo_url, '[email protected]:~/.git/myapp.git' 

set :rbenv_type, :system 
set :rbenv_ruby, '2.1.1' 
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec" 
set :rbenv_map_bins, %w{rake gem bundle ruby rails} 

set :keep_releases, 5 

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

set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system} 

set :tests, [] 

set(:config_files, %w(
    nginx.conf 
    database.example.yml 
    log_rotation 
    monit 
    unicorn.rb 
    unicorn_init.sh 
)) 

set(:executable_config_files, %w(
    unicorn_init.sh 
)) 

set(:symlinks, [ 
    { 
    source: "nginx.conf", 
    link: "/etc/nginx/sites-enabled/{{full_app_name}}" 
    }, 
    { 
    source: "unicorn_init.sh", 
    link: "/etc/init.d/unicorn_{{full_app_name}}" 
    }, 
    { 
    source: "log_rotation", 
    link: "/etc/logrotate.d/{{full_app_name}}" 
    } 
]) 

namespace :deploy do 

    before :deploy, "deploy:check_revision" 
    before :deploy, "deploy:run_tests" 
    after 'deploy:symlink:shared', 'deploy:compile_assets_locally' 
    after :finishing, 'deploy:cleanup' 
    before 'deploy:setup_config', 'nginx:remove_default_vhost' 
    after 'deploy:setup_config', 'nginx:reload' 
    after 'deploy:setup_config', 'monit:restart' 
    after 'deploy:publishing', 'deploy:restart' 
end 

Trả lời

1

Các thông báo lỗi nói rằng bạn đã không xác định ' compile_assets_locally 'nhiệm vụ.

Có vẻ như bạn đã bao gồm capistrano-ray đá quý rồi, vì vậy tôi nghĩ rằng phương pháp thứ hai có thể khắc phục vấn đề của bạn một cách dễ dàng

  • Phương pháp đầu tiên: Xác định nhiệm vụ compile_assets_locally. Sao chép template và đặt nó trong thư mục lib/capistrano/tasks (đảm bảo tiện ích mở rộng là .cap).

  • phương pháp thứ hai: Sử dụng capistrano-ray đá quý

    • config/deploy.rb set :assets_roles, [:app]

      loại bỏ after 'deploy:symlink:shared', 'deploy:compile_assets_locally'

    • Capfile require 'capistrano/rails/assets'

+0

Tôi đã thử phương pháp thứ hai nhưng bây giờ tôi chỉ gặp lỗi "Không biết cách xây dựng nhiệm vụ 'triển khai: setup_config'" – markhorrocks

+0

Tôi đã sao chép tác vụ sang lib/capistrano/tasks nhưng vẫn gặp lỗi tương tự. – markhorrocks

+1

Trong CapfileI của tôi đã phải thay đổi Dir.glob ('lib/capistrano/tasks/*. Rake'). Mỗi {| r | import r} vào Dir.glob ('lib/capistrano/tasks/*. cap'). mỗi {| r | nhập khẩu r} – markhorrocks