ক্রমাগত একীকরণ (Continuous Integration) (CI)

ক্রমাগত একীকরণ (Continuous integration), প্রায়ই CI হিসাবে সংক্ষেপে, যতটা সম্ভব নিয়মিত কোড পরিবর্তনগুলিকে একীভূত করার অনুশীলন। CI হল ক্রমাগত বিতরণ (Continuous Delivery) (CD) এর পূর্বশর্ত। ঐতিহ্যগতভাবে, CI প্রক্রিয়া শুরু হয় যখন কোড পরিবর্তনগুলি একটি উৎস নিয়ন্ত্রণ ব্যবস্থার (Git, Mercurial, বা Subversion) প্রতি প্রতিশ্রুতিবদ্ধ হয় এবং একটি CD সিস্টেমের দ্বারা গ্রাস করার জন্য প্রস্তুত একটি পরীক্ষিত আর্টিফ্যাক্ট দিয়ে শেষ হয়।

এটা যেসব সমস্যাতে দৃষ্টিপাত করে

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

এটা কিভাবে সাহায্য করে

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

সম্পর্কিত পদ


সর্বশেষ পরিবর্তিত February 24, 2024: [bn] Update main branch with dev-bn (#2894) (19b78e4)