2016-04-20 6 views
0

Ich bin Schienen 4.2 und CapistranoBilder erhalten gelöscht, nachdem bereitstellen

Meine Bilder, die hochgeladen erhalten über Gläubiger erhalten gelöscht, ich denke, mit jeder neuen begehen werden. Ich speichere Bilder im Verzeichnis public/ckeditor_assets/pictures.

ich diesen Code einfügen muß einfach

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

Hier ist mein aktueller deploy.rb

# config valid only for current version of Capistrano 
lock '3.4.0' 

set :application, 'my app name' 
set :repo_url, 'my git directory' 

# Default branch is :master 
# ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp 

# Default deploy_to directory is /var/www/my_app_name 
set :deploy_to, '/home/rails/app/myappname' 

# Default tmp_dir directory is /var/www/tmp 
set :tmp_dir, "/home/rails/app/myappname/shared/tmp" 

# Default value for :scm is :git 
set :scm, :git 

# Default value for :format is :pretty 
# set :format, :pretty 




# Default value for :log_level is :debug 
# set :log_level, :debug 

# Default value for :pty is false 
set :pty, false 

# Default value for :linked_files is [] 
# set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml') 
set :linked_files, fetch(:linked_files, []).push('config/application.yml') 

# Default value for linked_dirs is [] 
set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/sockets', 'public/system') 

#to save uploaded images 
#set :linked_dirs, %w(public/ckeditor_assets/pictures) 
set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system public/ckeditor_assets/pictures} 

# Default value for default_env is {} 
# set :default_env, { path: "/opt/ruby/bin:$PATH" } 

# Default value for keep_releases is 5 
set :keep_releases, 5 

set :default_env, { 
    PATH: "$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH", 
    RBENV_ROOT: '~/.rbenv', 
    RBENV_VERSION: File.read('.ruby-version').strip 
} 

set :sidekiq_role, :app 
set :sidekiq_config, -> { File.join(shared_path, 'config', 'sidekiq.yml') } 
set :sidekiq_env, 'production' 


set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" } 
set :whenever_roles,  ->{ :app } 
set :whenever_options,  ->{ {:roles => fetch(:whenever_roles)} } 
set :whenever_environment, ->{ fetch :rails_env, "production" } 
set :whenever_variables, ->{ "environment=#{fetch :whenever_environment}" } 
set :whenever_update_flags, ->{ "--update-crontab #{fetch :whenever_identifier} --set #{fetch :whenever_variables}" } 
set :whenever_clear_flags, ->{ "--clear-crontab #{fetch :whenever_identifier}" } 

namespace :deploy do 
    after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 
     # Here we can do anything such as: 
     within release_path do 
     execute :rake, 'cache:clear' 
     end 
    end 
    end 
end 

Antwort

1

Sie alles richtig gemacht haben, aber man verpasst symbolischen Links für die schaffen Shard-Verzeichnis.

task :symlink_config, roles: :app do 
    run "ln -nfs /home/rails/app/myappname/shared/tmp #/home/rails/app/myappname/current/tmp" 
    end 
    after "deploy:finalize_update", "deploy:symlink_config" 
+0

HI, also muss ich 1. meine aktuelle deploy.rb, 2. Code enthalten, der mit set beginnt: Link dirs, und 3 enthalten Ihren Taskcode? Danke – Boris

+0

HALLO, also muss ich 1. mein gegenwärtiges deploy.rb behalten, 2. den Code einschließen, der mit Satz beginnt: Verbindung dirs, und 3 Ihren Aufgabencode einschließen? Vielen Dank – Boris

+0

Ich bekomme einen Fehler NoMethodError: undefined Methode 'map 'für: Rollen: Symbol, Es scheint wie diese Syntax ist für ältere capistrano ... Gibt es eine Möglichkeit, wie Sie mit Syntax für cap 3 helfen können,? – Boris

Verwandte Themen