2014-04-27 16 views
5

Próbuję wdrożyć aplikację szyn 4.1.0 z tym szablonem https://github.com/TalkingQuickly/capistrano-3-rails-template/blob/master/Capfile. Kiedy uruchamiamCapistrano 3.1 compile_assets_locally

cap production deploy:setup_config 

otrzymuję komunikat o błędzie

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 

Odpowiedz

1

Komunikat o błędzie mówi, że nie definiują pojęcia " compile_assets_locally 'task.

Wydaje jesteś już w tym capistrano szyn gem, więc myślę, że druga metoda może rozwiązać swój problem łatwo

  • Pierwsza metoda: Zdefiniuj compile_assets_locally zadanie. Skopiuj kod template i umieść go w katalogu lib/capistrano/tasks (upewnij się, że rozszerzenie to .cap).

  • Druga metoda: Używając capistrano szyn Gem

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

      usunąć after 'deploy:symlink:shared', 'deploy:compile_assets_locally'

    • Capfile require 'capistrano/rails/assets'

+0

Próbowałem drugiej metody, ale teraz dostaję błąd "Nie wiem, jak zbudować zadanie" wdrożyć: setup_config '" – markhorrocks

+0

Skopiowałem zadania do lib/capistrano/tasks, ale nadal otrzymuję ten sam błąd. – markhorrocks

+1

W mojej CapfileI musiałem zmienić Dir.glob ('lib/capistrano/tasks/*. Rake'). Each {| r | import r} do Dir.glob ('lib/capistrano/tasks/*. cap'). Każdy {| r | import r} – markhorrocks