আমি ডকার, কুবারনেটস এবং জেনকিন্স ব্যবহার করে আমার প্রকল্পের জন্য সিআই / সিডি পাইপলাইনটি বাস্তবায়নের চেষ্টা করছি। আমার অ্যাপ্লিকেশনটি মাল্টি-টেন্যান্ট অ্যাপ্লিকেশন, যাতে ডেটাবেস অ্যাপ্লিকেশন ভেরিয়েবলগুলি বিভিন্ন ভাড়াটেদের জন্য আলাদা।
অ্যাপ্লিকেশন কৌশল
আমি যখন কোনও ডকার চিত্র তৈরি করছি তখন আমি ডকফাইফিল ব্যবহার করছি। এবং আমি আমার ডকস্পাইলকে আমার এসভিএন কোড সংগ্রহস্থলের ভিতরে রাখি। প্রতিটি ভাড়াটেদের জন্য কোড সংগ্রহস্থল সমান। আমি যখন একটি চিত্র তৈরি করছি, তখন আমার বিভিন্ন ভাড়াটে লোকের জন্য বিভিন্ন চিত্র তৈরি করা দরকার।
ডকফেরফিল বাস্তবায়ন
আমার ডকার ফাইলে আমি নীচের মতো এন্ট্রি পয়েন্ট যুক্ত করছি,
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=tenant1config" , "TestProject.war"]
আমার যদি অন্য ভাড়াটে লোকের জন্য ডকার চিত্র তৈরি করতে হয় তবে এটি যুক্ত করা দরকার
-Dspring.profiles.active=tenant2config
সুতরাং ডকফাইফিল এন্ট্রিপয়েন্টটি গতিশীল।
আমার বিভ্রান্তি
- ডকফাইফিলের ভিতরে এন্ট্রি পয়েন্ট কমান্ড পরিচালনার জন্য গতিশীলভাবে কী সম্ভব?
- বা অন্য ভাড়াটিয়াদের জন্য আমার কি অন্য ডকফেরিল যুক্ত করা দরকার? এবং আলাদা ভাড়াটেদের জন্য আলাদাভাবে ডকার বিল্ড কমান্ড চালানো দরকার?
এই সমস্যাটি কার্যকর করার জন্য আমি কীভাবে একটি ভাল মানক উপায় পেতে পারি?
ENTRYPOINT
অর্থাত... -Dspring.profiles.active=${TENANT}
তারপর আপনার স্থাপনার সময় সঠিক পরিবেশ সেট।