ডকার ট্যাগ সংস্করণকরণের জন্য সেরা অনুশীলনগুলি কী কী?


11

গিট কমিটের ভিত্তিতে ডকার ইমেজগুলি তৈরি করতে আমি সম্প্রতি আমাদের সিআই সার্ভারকে হুক করেছি।

আমাদের প্রায় 8 টি বিভিন্ন কন্টেইনার রয়েছে যা প্রতিটি নিজস্ব ভাষা / ফ্রেমওয়ার্ক সহ তৈরি হয়। কিছু নোড এবং একটি প্যাকেজ.জসন আছে, অন্যদের অজগর পরিষেবা যা কোন শব্দার্থক সংস্করণ তথ্য নেই।

আমার প্রশ্নটি ট্যাগগুলি কীভাবে তৈরি করতে হয় তা নয়, এটি ট্যাগের জন্য মান তৈরি করার বিষয়ে।

কীভাবে নিশ্চিত করা যায় যে প্রতিটি ট্যাগের নির্দিষ্ট চিত্রগুলির জন্য একটি অনন্য শব্দার্থক সংস্করণ নম্বর রয়েছে? বিল্ড সংস্করণ ট্র্যাকিং / ইনক্রিমেন্টিংয়ের কর্তৃত্ব কার হওয়া উচিত?


ট্যাগগুলি তৈরি করার জন্য আপনার বর্তমান পদ্ধতিটি কী?
030

আপনি কী জিজ্ঞাসা করছেন তা শুনতে শোনা যাচ্ছে। আপনি "শব্দার্থক সংস্করণ নম্বর" বলছেন, যা অবশ্যই মানবিক হিসাবে স্বাক্ষরিত হওয়া উচিত (আমাদের এআইগুলি এখনও কোনও কমিটের শব্দার্থবিজ্ঞানের সিদ্ধান্ত নিতে যথেষ্ট উন্নত নয় ...)। তবে তারপরে আপনি "বিল্ড সংস্করণ বাড়িয়ে তোলা" সম্পর্কে জিজ্ঞাসা করবেন। তাহলে, আপনি আসলে কী আগ্রহী? আপনি কি নিশ্চিত যে স্টাফটি কেবল "ইনক্রিমেন্ট" (একটি এসসিএন / সিস্টেম পরিবর্তন নম্বর বা যাই হোক না কেন) হিসাবে নিশ্চিত করা যায়? অথবা আপনি সংস্করণ সংখ্যার অর্থসূচক বিষয়বস্তুতে আগ্রহী (অর্থাত, এটিতে বেমানান পরিবর্তন রয়েছে কিনা)?
AnoE

উত্তর:


6

আমি আপনাকে আমার পোস্ট কাপলিং ডকার রেজিস্ট্রি এবং সোর্স কন্ট্রোলের দিকে পরিচালিত করব যেখানে অফিসিয়াল ফোরামস.ডোকার.কম থেকে বিস্মিত হয়ে উত্তর দিয়েছে । হ্যাশ এবং শাখার নাম বা ট্যাগগুলি যথেষ্ট করুন Commit

আপনার ডকফাইলে, বিল্ডের উত্সটি রেকর্ড করতে একটি LABEL ব্যবহার করুন। এর মধ্যে সম্ভবত বিতরণকৃত উত্স নিয়ন্ত্রণ (গিট, মার্কুরিয়াল), কমেন্টের শাখার নাম প্রাসঙ্গিক, কোনও রিলিজ ট্যাগ উপস্থিত থাকলে এবং সম্ভবত শেষ প্রতিশ্রুতির টাইমস্ট্যাম্পের মতো বিবরণ অন্তর্ভুক্ত রয়েছে। ডকারের ইতিহাস এবং ডকার পরিদর্শনকারীদের এগুলি দেখাতে সক্ষম হওয়া উচিত।

আপনি যখন নিজের চিত্রগুলিকে ডক করেন, কমিট হ্যাশ দিয়ে এবং শাখার নামটি "সংস্করণ" অংশ হিসাবে (quay.io/mycorp/imagenameuthor23abc7, quay.io/mycorp/imagename:dmaze-test) হিসাবে কমপক্ষে দু'বার চাপুন )। যদি মুক্তির ট্যাগগুলি সহজেই উপলভ্য হয়, সিআই সিস্টেমেরও এই ট্যাগগুলির সাথে চিত্রগুলি ধাক্কা দেওয়া উচিত।

আমরা বর্তমানে শাখার নাম / কমিট হ্যাশের সংমিশ্রণটি ব্যবহার করছি। আমাদের জন্য এটি যথেষ্ট বলে মনে হচ্ছে। টাইমস্ট্যাম্পগুলি যখন তারা দরকারী আইএমও হয় কেবল খড়খুড়ি যুক্ত করে কারণ তারা কোনও কিছু প্রতিশ্রুতিবদ্ধ হ্যাশ দেয় না।

আমি 030 এর সাথে একমত :

বিল্ড সংস্করণ ট্র্যাকিং / ইনক্রিমেন্টিংয়ের কর্তৃত্ব হওয়া উচিত কে

100% অন্যান্য দলের মধ্যে যথাযথ যোগাযোগের মাধ্যমে এ জাতীয় জিনিসগুলি বজায় রাখা সিআইয়ের দায়িত্ব।


1

কীভাবে নিশ্চিত করা যায় যে প্রতিটি ট্যাগের নির্দিষ্ট চিত্রগুলির জন্য একটি অনন্য শব্দার্থক সংস্করণ নম্বর রয়েছে?

একাধিক উপাদান যেমন একটি টাইমস্ট্যাম্প, গিট কমিট হ্যাশ এবং শব্দার্থক সংস্করণ সমন্বয়যুক্ত একটি ট্যাগ তৈরি করতে পারে। দ্বিতীয়টি স্বয়ংক্রিয়ভাবে সেট করতে হবে, যখন প্রথম দুটি স্বয়ংক্রিয়ভাবে তৈরি হতে পারে। এই জাতীয় ট্যাগ নীচের মত দেখতে পারে:

20171015141729-58617f500f7efe236c7ba6a1dfdf37a478b4c878-0.1.4

এই ট্যাগটিতে বিল্ডের তারিখ, প্রতিশ্রুতিবদ্ধ এবং শব্দার্থক সংস্করণ রয়েছে। যদি কোনও ডকার ইমেজ উত্পাদনে চলে এবং একটি বাগ পাওয়া যায় তবে সেই পণ্যটির সংস্করণ, অভ্যন্তরীণ কোডটি এবং ইমেজটি কখন নির্মিত হয়েছিল এবং কোন পরিস্থিতিতে কী তা জানা যায়।

বিল্ড সংস্করণ ট্র্যাকিং / ইনক্রিমেন্টিংয়ের কর্তৃত্ব কার হওয়া উচিত?

আমার মতে এটি সিআইয়ের দায়িত্ব হওয়া উচিত কারণ এটি প্রক্রিয়াগুলি স্বয়ংক্রিয় করতে সক্ষম হয় এবং ট্যাগ তৈরির ফলে স্বয়ংক্রিয়ভাবে কাজ করা যেতে পারে যেমন কাজের জন্য সঠিক সরঞ্জাম।


1

আমি মনে করি আপনি জিনকিনসের মতো সিআই / সিডির জন্য ডিভোপস সরঞ্জামগুলির মধ্যে একটি ব্যবহার করেন, আমি নিম্নলিখিত পদ্ধতির পরামর্শ দিই,

আপনি যদি জেনকিনসের মতো কিছু ব্যবহার করেন-

  • আপনি আপনার চাকরিটি এমনভাবে কনফিগার করতে পারেন যাতে আপনি জেনকিনস পরিবেশ পরিবর্তনশীল "বিল্ড_আইডি" ব্যবহার করতে পারেন, এটি যখন আপনার চিত্রটিতে ট্যাগ করার জন্য কাজের বিল্ড আইডিটি পুনরুদ্ধার করে। এইভাবে আপনি আপনার ডকারের চিত্রগুলি সংস্করণে নিয়ন্ত্রণ করতে পারেন। নীচের উদাহরণ পরীক্ষা করুন।

উদা: - sudo docker build -t <image_name>:<BUILD_ID>

সুতরাং, যদি আপনি আপনার এসসিএমের জন্য মেকানিজমের মতো ট্যাগ পেয়ে থাকেন, তবে আপনি জেনকিনস হোম২ফোল্ডারটিতে বিল্ড আইডির চাকরী ভিত্তিক বিল্ডগুলিতে বা কনফিগ.এক্সএমএলে সংশ্লিষ্ট বিল্ড আইডিতে ট্যাগটি পরীক্ষা করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.