Mina: Tidak ada cache untuk bundler

Dibuat pada 24 Sep 2016  ·  3Komentar  ·  Sumber: mina-deploy/mina

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?

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

Semua 3 komentar

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)
Apakah halaman ini membantu?
0 / 5 - 0 peringkat