Mina: لا توجد ذاكرة تخزين مؤقت للمجمع

تم إنشاؤها على ٢٤ سبتمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: mina-deploy/mina

أنا أستخدم هذا البرنامج النصي (تمت ترقيته من 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

المشكلة هي - يقوم bundle install بتنزيل جميع الجواهر من البداية في كل مرة يتم فيها النشر. كان يعمل بشكل جيد في الإصدار 0.3.

أي فكرة عما أفعله خطأ؟

التعليق الأكثر فائدة

حسنًا ، اكتشفت ما كانت المشكلة. في الإصدار 1 ، نحتاج إلى الإلحاق بـ shared_dirs بدلاً من إنشاء جدول كامل. لذلك فعلت:

set :shared_dirs, fetch(:shared_dirs, []).push('log').push('public/uploads').push('node_modules')

وهو يعمل الآن

ال 3 كومينتر

حسنًا ، اكتشفت ما كانت المشكلة. في الإصدار 1 ، نحتاج إلى الإلحاق بـ shared_dirs بدلاً من إنشاء جدول كامل. لذلك فعلت:

set :shared_dirs, fetch(:shared_dirs, []).push('log').push('public/uploads').push('node_modules')

وهو يعمل الآن

شكرا! كنت أعاني من نفس المشكلة!

لا تقصد الالتصاق بخيط مغلق ولكن يمكنك أيضًا القيام بشيء مثل هذا:

shared_dires = %w{log public/uploads node_modules}
set :shared_dirs, fetch(:shared_dirs, []).push(*shared_dirs)
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

ozgg picture ozgg  ·  6تعليقات

Bilge picture Bilge  ·  9تعليقات

Ilya-Kuchaev picture Ilya-Kuchaev  ·  4تعليقات

sosedoff picture sosedoff  ·  9تعليقات

ghost picture ghost  ·  12تعليقات