Saya menggunakan skrip ini (ini ditingkatkan dari mina 0.3)
require 'mina/bundler'
require 'mina/rails'
require 'mina/git'
require 'mina/rbenv'
set :shared_dirs, %w(log public/uploads node_modules)
set :current_path, 'current'
set :term_mode, nil
task :environment do
invoke :'rbenv:load'
end
task setup: :environment do
command %[mkdir -p "#{fetch(:shared_path)}/log"]
command %[chmod g+rx,u+rwx "#{fetch(:shared_path)}/log"]
command %[mkdir -p "#{fetch(:shared_path)}/public/uploads"]
command %[chmod g+rx,u+rwx "#{fetch(:shared_path)}/public/uploads"]
command %[mkdir -p "#{fetch(:shared_path)}/node_modules"]
command %[chmod g+rx,u+rwx "#{fetch(:shared_path)}/node_modules"]
end
desc 'Deploys the current version to the server.'
task deploy: :environment do
deploy do
invoke :'git:clone'
invoke :'deploy:link_shared_paths'
invoke :'bundle:install'
invoke :'rails:db_migrate'
invoke :'npm_install'
invoke :'rails:assets_precompile'
invoke :'deploy:cleanup'
on :launch do
command "mkdir -p #{fetch(:current_path)}/tmp/"
command "touch #{fetch(:current_path)}/tmp/restart.txt"
end
end
end
task :restart do
command "touch #{fetch(:current_path)}/tmp/restart.txt"
end
task :logs do
command 'echo "Contents of the log file are as follows:"'
command "tail -f #{fetch(:current_path)}/log/#{fetch(:rails_env)}.log"
end
task :npm_install do
command 'npm install --production'
end
Masalahnya adalah - bundle install
mengunduh semua permata dari awal setiap kali penerapan selesai. Itu bekerja dengan baik pada versi 0.3.
Tahu apa yang saya lakukan salah?
Ok saya menemukan apa masalahnya. Di versi 1 kita perlu menambahkan shared_dirs alih-alih membuat seluruh tabel. Jadi saya selesai:
set :shared_dirs, fetch(:shared_dirs, []).push('log').push('public/uploads').push('node_modules')
dan itu bekerja sekarang
Terima kasih! Saya mengalami masalah yang sama!
Tidak bermaksud menempel pada utas tertutup tetapi Anda juga dapat melakukan sesuatu seperti ini:
shared_dires = %w{log public/uploads node_modules}
set :shared_dirs, fetch(:shared_dirs, []).push(*shared_dirs)
Komentar yang paling membantu
Ok saya menemukan apa masalahnya. Di versi 1 kita perlu menambahkan shared_dirs alih-alih membuat seluruh tabel. Jadi saya selesai:
set :shared_dirs, fetch(:shared_dirs, []).push('log').push('public/uploads').push('node_modules')
dan itu bekerja sekarang