একক প্রকল্পে অবিচ্ছিন্ন একীকরণ সরঞ্জামগুলি কী কী সুবিধা দেয়?


18

আপনি যদি একক প্রকল্প করছেন - আপনি কি কোনও ভাণ্ডার থেকে বিল্ডিংয়ের জন্য সিআই সরঞ্জাম ব্যবহার করবেন? আমি একটি টিম পরিবেশে হডসন এবং ক্রুজ কন্ট্রোল ব্যবহার করেছি, যেখানে যে কোনও কিছু পরীক্ষা করার সাথে সাথে এটি তৈরি করা অপরিহার্য।

আমি মনে করি সংস্করণ নিয়ন্ত্রণের মানটি এখনও সুস্পষ্ট, তবে আমি কি আমার প্রতিশ্রুতি পরে তৈরি করতে হবে, যেমনটি আমি কেবল আমার স্থানীয় মেশিনে তৈরি করব এবং অন্য কেউ প্রতিশ্রুতি দিচ্ছে না?

উত্তর:


12

ভাল আমি একটি প্রকল্পে একটি অবিচ্ছিন্ন ইন্টিগ্রেশন সরঞ্জাম ব্যবহার করার পরিকল্পনা করছি এবং আমি অনন্য বিকাশকারী। প্রয়োজন আসে কারণ

  1. একটি লক্ষ্য এটিকে ক্রস-প্ল্যাটফর্ম তৈরি করা এবং ইন্টিগ্রেশন সরঞ্জাম থাকা আপনাকে একত্রে ইন্টিগ্রেশন রিপোজিটরিতে (বা কেন্দ্রীয়টি বা আপনার যা কিছু পরিবর্তন করে) পরিবর্তন করার পরে একবারে আপনার অ্যাপ্লিকেশনটিকে বিভিন্ন প্ল্যাটফর্মের মধ্যে অন্তর্নিহিতভাবে (বেসিক) পরীক্ষা করতে সহায়তা করে অনুমোদিত হিসাবে ব্যবহার করা হবে)।
  2. প্রকল্পটি দীর্ঘমেয়াদী জন্য নির্মিত তাই আমার পরে একটি দলের সাথে কাজ করা দরকার। আমি ২০১২ সাল পর্যন্ত কাউকে নিয়োগ দেওয়ার পরিকল্পনা করছি না তাই ধারাবাহিক ইন্টিগ্রেশন জিনিসটি মুহুর্তের জন্য অপেক্ষা করতে পারে, যতক্ষণ না ১ অগ্রাধিকার হয়ে ওঠে।

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

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

এখানে আমি ধরে নিচ্ছি যে আমি প্রায় আমার প্রকল্পে সমস্ত দিন কাজ করি তবে এটি সর্বদা সত্য নয়। আপনার একটি বিল্ডিং সময় নির্ধারণ করতে হবে যা আপনার কতবার বিল্ডের প্রয়োজনের সাথে তুলনামূলক। একটি গেম সংস্থায় আমি আগে কাজ করেছি, আমরা ক্রুজকন্ট্রোল ব্যবহার করি এবং এটি প্রতি ঘন্টা একটি পূর্ণ বিল্ড তৈরি করে। আমরা যখন প্রয়োজন তখন একটি বিল্ড জোর করতে পারি।

একটি হোম প্রকল্পের জন্য, দিনের একটি সময় ইতিমধ্যে "প্রায়শই" হতে পারে। প্রধান প্রয়োজন হ'ল সহজেই ব্যবহারকারীকে একটি বিল্ড প্রবর্তন করতে বাধ্য করার অনুমতি দেওয়া।


20

সংক্ষিপ্ত মননের পরে আমি পরামর্শ দেব যে এটি কোনও দলের চেয়ে একক বিকাশকারীদের পক্ষে আরও গুরুত্বপূর্ণ হতে পারে ।

সর্বাধিক প্রাথমিক স্তরে একটি সিআই সার্ভার প্রদর্শন করে যে আপনি প্রতিশ্রুতিবদ্ধ উত্স থেকে স্ক্র্যাচ থেকে আপনার অ্যাপ্লিকেশনটি তৈরি করতে পারেন - পরীক্ষার একটি সুনির্দিষ্ট সেটের সাথে মিলিয়ে এটি প্রদর্শিত হবে যে আপনি স্ক্র্যাচটি তৈরি করতে এবং চালাতে পারবেন।

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

প্রকৃতপক্ষে, আপনি ফাইল | নতুন প্রকল্পটি করার সময় আপনার সংগ্রহস্থল তৈরি বা যুক্ত করা এবং আপনার সিআই বিল্ড স্ক্রিপ্ট এবং স্থাপনার সেটআপ সেটআপ করা উচিত (এমনকি এটি কেবলমাত্র এক্সকপি স্থাপনার জন্য সামগ্রীর স্তূপের জন্য জিপ করা হলেও)


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


10
একক বিকাশকারী হিসাবে +1 আপনার 'আমার মেশিনে কাজ করে' সমস্যাগুলির ঝুঁকিতে বেশি
জে কে।

কোনও কারণ ছাড়াই ডাউনভোটগুলি সহায়ক নয় - উপরেরটিতে কী দোষ আছে?
মার্ফ

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

7

যখন আমি একমাত্র প্রতিশ্রুতিবদ্ধ, আমি আসলে প্রতিশ্রুতি দেওয়ার আগে কেবল তৈরি করি এবং পরীক্ষা করি । আমি সাধারণত একটি মেকফিল লক্ষ্য ব্যবহার করি:

make sense

এটি কনফিগার করে, তৈরি করে, সমস্ত পরীক্ষা চালায় (ভালগ্রাইন্ড সচেতন), লিঙ্কগুলি চালায় ইত্যাদি I আমি জানি যে আমিই একমাত্র ধাবমান হব, সত্যই আমার হডসনের মতো শক্তির প্রয়োজন নেই।

অতিরিক্তভাবে, এমন একটি পরিবেশে যেখানে আপনার বেশ কয়েকটি শাখা একটি প্রধান ভান্ডার খাওয়ান, যদি আপনি প্রতিশ্রুতিবদ্ধ বা ধাক্কা দেওয়ার আগে প্রত্যেকে সর্বদা টান অনুসরণ করেন তবে সিআই সার্ভারটি কিছুটা কিল মারতে পারে। একটি শুদ্ধ লিখিত নিয়ম যা শেষ বিল্ডটি ভেঙেছে তার লেখক শুক্রবার পিজ্জা ক্রয় করেন সাধারণত জিনিস খুব সহজেই চলমান রাখে :)

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

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


11
আপনার 'জ্ঞান' টার্গেটটি কোড করতে ভুলবেন না, অন্যথায় আপনি পেতে পারেন make: don't know how to make sense. Stop। আহা!
অ্যালান পিয়ার্স

@ অ্যালান - তারা গিয়ে আমাদের পরবর্তী সমস্ত সংস্করণ পরবর্তী সংস্করণগুলিতে নষ্ট করে দিয়েছে (কমপক্ষে জিএনইউ মেক করুন) .. এখন আপনি কেবল "মেক করুন: *** লক্ষ্য` ইন্দ্রিয় 'তৈরি করার কোনও নিয়ম পাবেন না। "
টিম পোস্ট

1
আপনি তখন ফ্রিবিএসডি-তে স্যুইচ করার পরামর্শ দিন। :)
অ্যালান পিয়ার্স

1

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

যদি যথাযথভাবে মান্য করা হয় (তবে, আপনি পরীক্ষাগুলি এড়িয়ে যাবেন না এবং আপনি প্রতিশ্রুতি প্রতিবার এটি তৈরি করেন তা নিশ্চিত করেন) সিআই আপনাকে যেভাবেই এটি প্রতিশ্রুত করতে চাইলে আপনার চেয়ে উচ্চ মানের মান মেনে চলতে বাধ্য করে।


আমি কোনও সিআই সার্ভারের ওভারহেড ছাড়াই বাড়ির ডাটাবেস অ্যাপ্লিকেশনটিতে সফলভাবে পরিচালনা করতে পরিচালনা করি। এটি কিছু ক্ষেত্রে সামান্য শৃঙ্খলা লাগে, তবে সমস্ত স্টাফ সেট আপ করার ওভারহেডের চেয়ে কম।
wobbily_col 9

0

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

আমার একমাত্র ট্রিগারটি হ'ল আমার বর্তমান পরিবর্তনগুলিকে সংস্করণ নিয়ন্ত্রণে ঠেকানো এবং আমি কোডিংয়ে ফিরে যেতে পারি। এবং আমি কোডিংয়ের বিষয়ে ভাবতে থাকাকালীন সিআই সিস্টেম দীর্ঘ বায়ুযুক্ত মানের প্রতিবেদনগুলি বানাতে ব্যস্ত হয়ে পড়েছে যা আমার মস্তিষ্কের জঞ্জাল হয়ে গেলে আমি একবারে একবারে দেখব।

আমার কাছে একই ল্যাপটপে একটি পৃথক ভিএমওয়্যার মেশিন রয়েছে যা আমি প্রবেশ করি সে কোডটি তৈরি করে this এটি করার জন্য আমি কেবল একটি টার্নকি লিনাক্স ভিএমওয়্যার চিত্র পেয়েছি এবং এপ-গেট ব্যবহার করে জেনকিনগুলি ইনস্টল করি এবং কয়েকটি ছোট কনফিগারেশন পরিবর্তন করি।

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