نشر من بوابة باستخدام كابيسترانو دون إعادة تعيين ثابت؟

StackOverflow https://stackoverflow.com/questions/852118

  •  21-08-2019
  •  | 
  •  

سؤال

ولقد مشكلة في هذه اللحظة إلى أين نحن تشغيل CMS ضمن موقع (browsercms) التي تسمح للمستخدم تحميل الملفات. ومع ذلك، في كل مرة كنت القيام نشر يدير كابيسترانو من الصعب إعادة تعيين وبالتالي تبديدها أي حملت الملفات.

هل لديها أي اقتراحات بشأن كيفية منع إعادة تعيين ثابت، ولا مجرد الانسحاب، أو وسيلة لتحريك الملفات التي يتم تحميلها في أي مكان آخر، دون الحاجة إلى تغيير رمز التطبيق؟

هل كانت مفيدة؟

المحلول

وهذا قد لا يكون النهج الصحيح.

ويجب أن تشمل مجلد "الصور" الخاصة بك في .gitignore والرمزي المجلد $ current_release / صور ل$ المشتركة / الصور.

ويمكن ان يتم ذلك تلقائيا على كل نشر إذا وضعت في deploy.rb الخاص بك:

task :link_imgs do     
  run "ln -s #{shared_path}/photos #{release_path}/photos" 
end    

after "deploy:update_code", :link_imgs

ولقد فعلت الشيء نفسه مع بلدي CMS، وأنه يعمل مثل السحر

نصائح أخرى

وهذا لا تلبي تماما المعايير الخاصة بك من "دون الحاجة إلى تغيير رمز التطبيق".

ولكن بعد الوقوع في مشكلة مشابهة I تحول بلدي الصور التي يتم تحميلها من /public/images إلى /public/system/images الدليل /public/system لا "تعيين إصدار" كل نشر كابيسترانو حتى البقاء على قيد الحياة الصور.

ويمكن أن تكون كابيسترانو 'الإصدارات' مما تسبب في مشكلة <م> (بدلا من إعادة تعيين بوابة)

غطاء نشر المكالمات <م> نشر: تحديث و <م> نشر: إعادة تشغيل

نشر: تحديث يجعل الإصدارات، ونسخ الاشياء

نشر: إعادة تشغيل هل إعادة تشغيل صحيح، الإثقال عليه في convenince، وعادة في حياتك على التكوين / deploy.rb ملف

namespace :deploy do
    desc "Softly restart the server"
    task :restart, :roles => :app, :except => { :no_release => true } do
      my_own.restart_recipe
    end  
end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top