আপনার প্রশ্নের বক্তব্য থেকে আমি ধরে নিই যে আপনার কাছে একটি স্থানীয় মেশিন এবং একটি রিমোট মেশিন রয়েছে যেখানে আপনি দুটি ফাইল আপডেট করেন - একটি পাইথন স্ক্রিপ্ট এবং একটি বাশ স্ক্রিপ্ট। দুটি ফাইলই এসভিএন নিয়ন্ত্রণে রয়েছে এবং উভয় মেশিনেরই একই এসভিএন সার্ভারে অ্যাক্সেস রয়েছে।
আমি দুঃখিত যে আমি আপনার গ্রিড সিস্টেমের সাথে সুনির্দিষ্ট কোন পরামর্শ পাই না, তবে যেকোন স্থাপনার জন্য আমি গুরুত্বপূর্ণ কিছু পয়েন্টগুলি তালিকাভুক্ত করতে পারি।
উত্পাদন পরিবর্তনগুলি কনফিগারেশন পরিবর্তনের মধ্যে সীমাবদ্ধ রাখুন । আপনি লিখেছেন যে আপনাকে "সার্ভারে ডেটাসেটের পথ ব্যবহার করতে হবে"; এটি আমার কাছে মনে হচ্ছে আপনি আপনার পাইথন স্ক্রিপ্টে পাথগুলি হার্ডকোড করেছেন। এটি খুব ভাল ধারণা নয়, অবিকল কারণ আপনি যেখানে স্ক্রিপ্টটি সরিয়ে নিয়েছেন সেখানে অন্য সমস্ত মেশিনে আপনাকে সেই পাথগুলি পরিবর্তন করতে হবে। আপনি যদি এই পরিবর্তনগুলি এসভিএন-এ ফিরিয়ে দেন তবে আপনার স্থানীয় মেশিনে আপনার দূরবর্তী পাথগুলি এবং চলতে থাকবে ... (কেবলমাত্র পাথগুলিই নয়, তবে পাসওয়ার্ডও কী? যদি কোনও এসভিএনে আপনার উত্পাদন পাসওয়ার্ড না থাকে) সার্ভার।)
সুতরাং, একটি পাথ এবং অন্যান্য সেটআপ তথ্য রাখা .ini
ফাইল এবং ব্যবহার ConfigParser এটা পড়তে, অথবা একটি ব্যবহার করতে .json
ফাইল এবং ব্যবহার JSON মডিউল। ফাইলের একটি অনুলিপি স্থানীয়ভাবে এবং একটি দূরবর্তীভাবে, উভয়ই একই পাথের নীচে, এসভিএন নিয়ন্ত্রণ ছাড়াই রাখুন এবং পাইথন স্ক্রিপ্টে সেই কনফিগারেশন ফাইলের পথ রাখুন (বা যদি আপনি উভয়ই রাখতে না পারেন তবে কমান্ড লাইন থেকে পান একই পাথের অধীনে কনফিগারেশন)।
কনফিগারেশন যতটা সম্ভব ছোট রাখুন । যে কোনও কনফিগারেশন আপনার অ্যাপ্লিকেশনের একটি "চলমান অংশ" এবং কোনও সিস্টেমের চলমান অংশগুলির চেয়ে কম শক্তিশালী। কনফিগারেশনের অন্তর্ভুক্ত এমন কোনও কিছুর একটি ভাল সূচক হ'ল আপনি যখনই কোডটি সরান তখনই এটি আপনাকে সম্পাদনা করতে হবে; যে জিনিসগুলির সম্পাদনার দরকার নেই সেগুলি কোডে স্থির হিসাবে থাকতে পারে।
আপনার মোতায়েন স্বয়ংক্রিয় করুন । আপনি এটি আপনার স্থানীয় মেশিনে বাশ স্ক্রিপ্টের মাধ্যমে করতে পারেন; মনে রাখবেন আপনি পারেন একটি দূরবর্তী মেশিনে কোনো কমান্ড চালানোর মাধ্যমে ssh
। এই ক্ষেত্রে:
svn export yourprojectpath /tmp/exportedproject
tar czf /tmp/yourproject.tgz /tmp/exportedproject
scp /tmp/myproject.tgz youruser@remotemachine:~/dev
## Remote commands are in the right hand side, between ''
ssh youruser@remotemachine 'tar xzf ~/dev/yourproject.tgz'
ssh youruser@remotemachine 'qsub ~/dev/yourproject/script.py'
এটি কাজ করার জন্য, আপনার স্থানীয় এবং দূরবর্তী মেশিনের মধ্যে সেট আপ করার জন্য আপনাকে অবশ্যই পাবলিক / প্রাইভেট কীগুলির উপর ভিত্তি করে একটি পাসওয়ার্ডহীন লগইন করতে হবে।
এর চেয়ে বেশি আপনার যদি প্রয়োজন হয় তবে আপনি পাইথনের ফ্যাব্রিক বা উচ্চ স্তরের খাবারটি ব্যবহারের কথা ভাবতে পারেন ।