क्या बिल्ट-इन linked_files
का उपयोग करके भूमिका के आधार पर विभिन्न फाइलों को लिंक करने के लिए Capistrano 3 को कॉन्फ़िगर करना संभव है?
मेरे पास worker
भूमिका वाले सर्वर हैं, जिनके लिए वेब-सामान से संबंधित फ़ाइलें लिंक होने की आवश्यकता नहीं है (यानी sitemap.xml
फ़ाइल)।
2 जवाब
संक्षिप्त उत्तर: नहीं, Capistrano में चर (जैसे :linked_files
) वैश्विक हैं और प्रति मेजबान/भूमिका के अलग-अलग मान नहीं हो सकते हैं।
आप संभवतः अपने स्वयं के कस्टम कार्यान्वयन के साथ deploy:symlink:linked_files
और deploy:check:linked_files
कार्यों को फिर से परिभाषित करके इसे काम कर सकते हैं। उदाहरण के लिए, यह कार्यान्वयन विभिन्न भूमिकाओं के लिए अलग-अलग लिंकिंग कर सकता है।
Rake::Task["deploy:symlink:linked_files"].clear_actions
task "deploy:symlink:linked_files" do
on release_roles(:web) do
execute :ln, "-s", ...
execute :ln, "-s", ...
# etc.
end
on release_roles(:app) do
execute :ln, "-s", ...
execute :ln, "-s", ...
# etc.
end
end
हालांकि, मैं इसके खिलाफ दो कारणों से अनुशंसा करता हूं:
- यह लिखने के लिए बहुत अधिक कोड है
- आप Capistrano "जादू" खो देते हैं जहां Capistrano प्लगइन्स चीजों को
:linked_files
में इंजेक्ट करते हैं
no_release: true
फाइलों को लिंक करना छोड़ देगा। यह मेरे मामले में web
भूमिका के लिए पर्याप्त था क्योंकि हम वहां केवल रखरखाव पृष्ठ अपलोड करते हैं।
नए सवाल
ruby-on-rails
रूबी ऑन रेल्स रूबी में लिखा गया एक ओपन सोर्स फुल-स्टैक वेब एप्लिकेशन फ्रेमवर्क है। यह लोकप्रिय एमवीसी फ्रेमवर्क मॉडल का अनुसरण करता है और इसे "कॉन्फिगरेशन ओवर कॉन्फिगरेशन" अप्रोच डेवलपमेंट के दृष्टिकोण के लिए जाना जाता है।