অবিচ্ছিন্ন একীকরণ এবং ডিভিসিএসের জন্য প্যাটার্নস


12

আমরা বর্তমানে সাবভারশন এবং টিমসিটি ব্যবহার করি, আমরা মার্চুরিয়াল (বিশেষত কিলন হিসাবে আমরা ফোগবগ্স ব্যবহারকারী হিসাবে ব্যবহার করি) ব্যবহার করতে চলেছি।

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

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

আমি কিছুটা মাছ ধরছি তবে এটি কারণ কেননা কেন্দ্রীয় সাবভার্সন রেপো একটি দেয় (আমাকে, আমাদের সেটআপটি দিয়ে!) কখন কী তৈরি করতে হবে তা সম্পর্কে অনেক স্পষ্টতা।


এনবি আমি ক্রমাগত সংহতকরণের সাথে মুরুরিয়াল ব্যবহারের মেকানিক্স সম্পর্কে জিজ্ঞাসা করছি না - আমার কাছে আছে যে কোনও ব্যক্তিগত প্রকল্পের জন্য একটি ট্রিট, তার নিদর্শন এবং কাঠামো এবং কাজের অনুশীলন / ওয়ার্কফ্লো যা আমি আমার মাথা ঘুরিয়ে দেওয়ার চেষ্টা করছি।


কেন আপনি কেন কেন্দ্রীয় / "লাইভ" রেপো থেকে বিল্ডগুলি ট্রিগার করতে দেরী হয়েছে বলে মনে করেন?
সি_মেকার

আপনি যদি ইতিমধ্যে সেখানে না থাকেন তবে আমি পরামর্শ দিচ্ছি যে আপনি কিলান স্ট্যাক এক্সচেঞ্জ সাইটের দিকে যেতে পারেন ( kiln.stackexchange.com )। এটি কীভাবে সেট আপ করবেন সে সম্পর্কে তাদের বেশ কিছুটা বিষয়বস্তু রয়েছে (এখানে একটি: kiln.stackexchange.com/questions/29/… । ব্যক্তিগতভাবে আমরা বৈশিষ্ট্য অনুসারে একটি শাখা ব্যবহার করি এবং আমাদের "মাস্টার" শাখায় বিল্ড সার্ভারটি নির্দেশ করি। )
ক্রিস ফিলিপস 17

@ ক্রিস - আমার কাছে সত্যিই নেই, সিআই ইস্যুটির দিকে নজর দেওয়া হচ্ছে না ...
মার্ফ

উত্তর:


2

প্রথমত, টিমসিটিতে প্রতি প্রকল্পে একাধিক বিল্ড হ'ল সত্যিকারের উপায়। প্ল্যাটফর্মের প্রকৃতি এটিকে সত্যই সহজ করে তোলে - অনুলিপি বোতামটি এখানে আছে।

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

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


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

2
ট্রিক সেখানে কাজের ইউনিট সংজ্ঞা কি? এটি কি "এই বৈশিষ্ট্যটি সম্পূর্ণ হয়েছে" বা এটি "এই ইটটি সফলভাবে পাথর হয়েছে"। আমরা পরবর্তীকালের দিকে ঝুঁকছি, বিশেষত সেই শাখার মডেলটির সাথে যেখানে স্পষ্টভাবে বর্ণনামূলক উন্নয়ন শাখা রয়েছে। শাখা বৈশিষ্ট্যগুলির জন্য ব্রেকিং স্টাফগুলি সেরা বামে। এর মধ্যে দীর্ঘকালীন চলমান ব্যক্তিরা যদি সম্ভব হয় তবে সিআই বিল্ডগুলিও পেতে পারেন। বিশেষ করে যদি রান্নাঘরে একাধিক রান্না হয়।
ওয়াট বার্নেট

আমি আপনার "কাজের ইউনিট" এর সংজ্ঞার সাথে একমত, যে কারণে আমি আমার সামগ্রিক মডেলটির সাথে কিছুটা লড়াই করছি (যা ইতিমধ্যে "সিআই" বিল্ড এবং "ডিপ্লোয়মেন্ট" বিল্ড উভয়কেই সমন্বিত করতে বিভিন্ন প্রকল্পে একাধিক বিল্ড রয়েছে)। আপনি ঠিক বলেছেন, উত্তরটি হ'ল অনেকগুলি বিল্ড আপ করা যাতে শেষ পর্যন্ত আমার আসল সমস্যাটি চেক স্বাক্ষরিত হতে চলেছে! ব্রাঞ্চিং মডেলটি রেফারেন্স করে ডানদিকে - এছাড়াও। এখনও সামগ্রিক প্যাটার্ন বিবেচনা করা (এবং অনুমতি যে আরও kilnhg সুনির্দিষ্ট জন্য অনুমতি সামঞ্জস্য করা হবে না)
Murph

2

আমরা প্রায় এক বছর ধরে কিলন ব্যবহার করে আসছি এবং বেশ কয়েকটি বিভিন্ন জিনিস চেষ্টা করেছি। যেখানে আমরা শেষ করেছি নিম্নলিখিত শাখাগুলি কৌশল সহ নামযুক্ত শাখা (শাখা ক্লোনগুলির বিপরীতে) ব্যবহার করা হবে:

  • ডিফল্ট ট্র্যাকগুলি "সম্পন্ন" বিকাশ
  • বৈশিষ্ট্য শাখাগুলি ট্র্যাকের কাজটি বর্তমানে চলছে যা চলছে
  • রিলিজ শাখা ট্র্যাক পয়েন্ট যেখানে আমরা ডিফল্ট থেকে মুক্তি পেয়েছি released

সুতরাং, একটি তৈরি করে আরম্ভ করা হয় বৈশিষ্ট্য শাখা বর্তমান ডগা থেকে ডিফল্ট । যখন বৈশিষ্ট্য শাখা * সম্পন্ন করা হয়, শাখা বন্ধ করে ফিরে মিশে গিয়ে তৈরি হয় ডিফল্ট

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

অবিচ্ছিন্ন একীকরণের জন্য, আমরা দুটি জিনিস করি:

  • একটি "সর্বদা চালু" ইন্টিগ্রেশন যা ডিফল্টের স্থিতি পর্যবেক্ষণ করে
  • প্রতিটি রিলিজ শাখার জন্য নতুন সংহতকরণ

ডিফল্ট - শাখা কাজ আমাদের জানান যে, আমাদের প্রধান উৎস গাছ সবসময় স্থিতিশীল করতে দেয় মুক্তি শাখা কাজ আমাদের জানান যে, এসব শাখা স্থায়ী হয় এবং বিল্ড আউটপুট আমরা উতপাদনে মুক্তি ধাক্কা প্রয়োজন সঙ্গে আমাদের প্রদান করা যাক।

* "সম্পন্ন" এর আমাদের সংজ্ঞাটি হ'ল বৈশিষ্ট্যটি পূর্বনির্ধারিত থেকে একীভূত হওয়ার সাথে আপ-টু-ডেট এবং কোড পর্যালোচনায় অনুমোদিত হয়েছে।


1

আপনি যদি এইচজি-র মতো কোনও ডিভিসিএসে চলে যান তবে আপনি কেবল "বিতরণকৃত অংশ" পাচ্ছেন না, আপনি ভাল শাখা-প্রশাখা এবং মার্জ করার সম্পূর্ণ শক্তিও পাচ্ছেন।

এটি বিবেচনা করে এখন আপনার কাছে একটি ভাল ইস্যু ট্র্যাকার এবং একটি ভাল এসসিএম থাকবে ... কেন প্রতিটি কাজের জন্য একটি শাখা তৈরি করা হচ্ছে না?

"শাখা প্রতি কাজ" প্যাটার্নটি নতুন নয় (বার্কজুকের বইটি পরীক্ষা করুন) তবে এটি অবশ্যই চেষ্টা করার মতো বিষয় something

আমি এটিকে এখানে বিশদভাবে ব্যাখ্যা করেছি এবং সিআই বনামের "কন্ট্রোলড" এর উপকারিতা এবং বিবাদগুলি এখানে


আমি "ভাল" না বলে "ভাল" বলব যেহেতু আমি আনন্দের সাথে, উত্সাহের সাথে এবং সফলভাবে উভয় বৈশিষ্ট্য এবং রক্ষণাবেক্ষণ শাখার কাজ করেছি এবং বিপর্যয়ের সাথে মার্জ করছি (-:
মার্ফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.