অবিচ্ছিন্ন একীকরণ: কোন ফ্রিকোয়েন্সি?


20

আমি প্রতিটি প্রতিশ্রুতি পরে সর্বদা বিল্ড চালু করেছি, কিন্তু এই নতুন প্রকল্পে, স্থপতিরা আমাকে কেবলমাত্র ফ্রিকোয়েন্সিটি "প্রতি 15 মিনিটে একটি বিল্ড" হিসাবে পরিবর্তন করতে বলেছিলেন, এবং আমি কেন বুঝতে পারি না যে এটি কেন একটি ভাল কারণ হবে " প্রতিটি প্রতিশ্রুতি উপর বিল্ডিং "।

প্রথমে কিছু বিবরণ:

  • উদ্দেশ্য-সি (আইওএস 5) প্রকল্প
  • 10 বিকাশকারী
  • প্রতিটি বিল্ডটি আসলে ~ 1 মিনিট নেয় এবং এতে বিল্ড এবং ইউনিট পরীক্ষা অন্তর্ভুক্ত থাকে।
  • ইন্টিগ্রেশন সার্ভারটি একটি ম্যাক মিনি, সুতরাং কম্পিউটিং শক্তি এখানে আসলেই সমস্যা নয়
    • আমরা এক্সকোড প্লাগইন সহ জেনকিন্স ব্যবহার করি

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

তো, এ সম্পর্কে আপনার মতামত কী?


নিশ্চিত হয়ে নিন যে আপনার বিল্ড সময়টি 2 বা 3 মাসের মধ্যে 1 মিনিট হবে, 10 প্রকল্পগুলি আপনার প্রকল্পে ইউনিট পরীক্ষাসহ আরও কোড যুক্ত করবে?
ডক ব্রাউন

পরিবর্তনের অনুরোধের জন্য স্থপতিদের যুক্তি সন্ধান করা আকর্ষণীয় হবে; আপনার পয়েন্টগুলি ভাল, তবে তারা কি প্রকৃত সমস্যাটিকে সম্বোধন করবে?

উত্তর:


32

ব্যর্থ দ্রুত একটি ভাল নীতি - আপনি যত তাড়াতাড়ি বিল্ডটি ভাঙ্গা জানেন, যত তাড়াতাড়ি আপত্তিজনক প্রতিশ্রুতি চিহ্নিত করা যায় এবং বিল্ডটি স্থির করা যায়।

প্রতিটি প্রতিশ্রুতিবদ্ধতা তৈরি করা সঠিক জিনিস do

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

যদি বিল্ডটি প্রায়শই ভেঙে যায় যে এটি সমস্যা হিসাবে দেখা যায় তবে বিল্ডটি না ভাঙার গুরুত্ব এবং এমনটি না ঘটে এমন কৌশলগুলিতে (ঘন ঘন ফেচ, চেকিন ডান্স, সংকলন এবং ইউনিট পরীক্ষা চালানো) কৌশলগুলি সম্পর্কে দলটিকে পুনরায় শিক্ষিত করার উত্তর দিন ( স্থানীয়ভাবে ...)।


16
+1 টি। বিরক্তিকরভাবে ঘন ঘন "বিল্ড ব্যর্থ" বার্তাগুলির উত্তর হ'ল বিরক্তিকরভাবে বিল্ডটি বিরতি না দেওয়া।
suszterpatt

3
শান্ত সময়ে - জেনকিন্সের তৃতীয় বিকল্প "পোল এসসিএম" কেবল তার জন্য বোঝানো হয়েছে। সংগ্রহস্থলটিতে পরিবর্তনগুলি পাওয়া গেলে এটি কেবল পরীক্ষা / আপডেট চালাবে। উদাহরণস্বরূপ, আমাদের যদি কোনও পরিবর্তন (ইউনিট পরীক্ষা) হয় তবে প্রতি 5 মিনিটে চালানোর জন্য একটি কাজ রয়েছে এবং কোনও পরিবর্তন (ইন্টিগ্রেশন টেস্ট) থাকলে প্রতি 3 ঘন্টা চালানোর জন্য একটি দ্বিতীয় সেট রয়েছে। দুজনেই রাতে / সাপ্তাহিক ছুটিতে শান্ত থাকে কারণ কেউ কিছু করে না।
ইজকাটা

5

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

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

আপনি আশা করছেন যে আপনার 10 টি প্রতি 15 মিনিটে একবার প্রতিশ্রুতিবদ্ধ হবে? এটি বরং উচ্চতর অনুমানের মতো শোনাচ্ছে। 10 দেবের অর্থ হ'ল প্রতি 150 মিনিটের পরে একই ব্যক্তি আবার প্রতিশ্রুতিবদ্ধ, সুতরাং 2.5 ঘন্টা tha সুতরাং আপনার গড় দিনে প্রতিটি দেব 3 বার কমিট করে। ব্যক্তিগতভাবে আমি একটি commit 2 দিন কমিট করি ... কখনও কখনও কখনও কখনও কম হয়।


1
প্রকৃতপক্ষে, কমিটগুলি এখানে প্রায় দ্রুত চলে যায়, সুতরাং এটি সম্পূর্ণরূপে সম্ভব, তবে হ্যাঁ, আপনি কী বলতে চাইছেন তা আমি দেখতে পাচ্ছি।
ভ্যালেন্টিন রচার

3
@ নিমচিম্পস্কি: আপনি প্রতি 3 দিনে একটি করে প্রতিশ্রুতি দেন? যদি এটি সত্য হয় তবে আমি পরামর্শ দিচ্ছি আপনার প্রতিশ্রুতিবদ্ধ কৌশলটি গুরুত্ব সহকারে পুনর্বিবেচনা করা উচিত। আপনি যখনই কোনও পূর্বের স্থানে কিছু রিসেট করতে যাচ্ছেন, আপনি 3 দিন পর্যন্ত কাজ শিথিল করবেন! আপনার পরিবর্তন লগের কয়েকটি শব্দে আপনি কীভাবে 3 পূর্ণ দিনের পরিবর্তনগুলি বর্ণনা করবেন? খুব শব্দহীন। ব্যক্তিগতভাবে, আমি যখনই আমার প্রোগ্রামে একটি কার্যকরী বৈশিষ্ট্য স্লাইস যুক্ত করে থাকি তখন আমি প্রতিশ্রুতিবদ্ধ করি, সাধারণত দিনে কয়েকবার।
ডক ব্রাউন

2
@ ডকব্রাউন এটিকে অবাস্তব থেকে অনেক দূরে। আমি এক মিনিটে তিনবার বিভিন্ন প্রকল্প এবং বিভিন্ন ভান্ডারগুলিতে প্রতিশ্রুতিবদ্ধ হতে পারি। অন্যদিকে আমি পুরো সপ্তাহে কোনও কোডই লিখতে পারি না। আমি আপনাকে মন্তব্য করার কৌশলটি গুরুত্ব সহকারে বিবেচনা করার পরামর্শ দিচ্ছি।
নিমচিম্পস্কি

1
@ নমচিম্পস্কি: আমি ধরেই নিয়েছিলাম যে আপনি ওপি দ্বারা বর্ণিত অবস্থার সাথে তুলনীয় পরিস্থিতি সম্পর্কে কথা বলছিলেন। আমরা একই প্রকল্পে 10 টি দেব কাজ করে যাচ্ছি। যদি প্রতি দেবের কমিটের মধ্যবর্তী সময়টি 3 দিন হয়, তবে সেই প্রকল্পটিতে কিছু খুব খুব ভুল হয়ে যায়।
ডক ব্রাউন

2
@ ডকব্রাউন ডাব্লুটিএফ? আপনি কী সম্পর্কে কথা বলছেন তা আপনি জানেন না ... আমি এটি গ্রহণ করি আপনি একসাথে একাধিক প্রকল্পে কাজ করেন না।
নিমচিম্পস্কি

3

এটি প্রতি 15 মিনিটের মধ্যে যদি এটি মেইল সহ আরও বন্যা বিকাশকারীদের কাছে যাচ্ছে । এর কারণ এটি নির্দিষ্টভাবে কে জানে না কে এই ভবনটি ভেঙে দিয়েছে এবং আরও বেশি লোককে মেল করে।

মেট্রিকের ক্ষেত্রে, যদি এটি সত্যিই কোনও সমস্যা হয় - যা আমি বলতে পারি না কারণ তারা কী মেট্রিকগুলিতে সমস্যা বলে মনে করে তা আমি জানি না don't, আপনি সর্বদা মেট্রিক সংগ্রহের জন্য অন্য কাজ করতে পারেন।


2

সম্ভবত প্রয়োজন "বিল্ড হতে shold সর্বাধিক একবার 15 মিনিট প্রতি"। এটি খুব ঘন ঘন প্রতিশ্রুতিবদ্ধ ক্রিয়াকলাপের (যেমন কয়েক মিনিটের মধ্যে একাধিক কমিট) এবং সম্ভবত দীর্ঘ বিল্ড সময় সহ প্রকল্পগুলির জন্য অর্থবোধ করতে পারে। অবশ্যই এটি বিল্ডগুলি কীভাবে ব্যবহৃত হয় তার উপরও নির্ভর করে। পরীক্ষকদের জন্য এটি 15 মিনিটের মধ্যে একাধিক বিল্ড পেতে কিছুটা বিভ্রান্ত হতে পারে ...

তবে আমি সম্মত হই যে কিছুই পরিবর্তন না হলে এটি নির্মাণে কোনও সংবেদন নেই।


2

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

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

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


0

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

আদর্শভাবে আপনি প্রতিটি প্রতিশ্রুতিবদ্ধ এবং আমি যেমন বর্ণনা করেছি যেমন পরিস্থিতিগুলি পরীক্ষা করার জন্য একটি সময়সূচীতে তৈরি করবে। এর ধারণাগত অর্থ হ'ল আপনি প্রতি 15 মিনিটে অন্তত একবার নির্মাণ করুন

যদি আপনার জেনকিন্সের চাকরি নির্ভরতা সম্পর্কিত নিদর্শনগুলি চালনার জন্য সেট আপ করে থাকে (এবং যদি আপনি ... ব্রাভো) করেন তবে আপনার ইউনিট পরীক্ষাগুলি যদি শক্ত হয় (তবে তারা নির্ভরতা পরীক্ষা করে না) এবং আপনার ইন্টিগ্রেশন / ক্রিয়ামূলক পরীক্ষা জেনকিন্স কাজের অংশ নয় not

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


0

আপনি বলেছিলেন যে আপনি তাদের যুক্তি বুঝতে পারবেন না, তাই আপনাকে তাদের জিজ্ঞাসা করতে হবে। তারা কী চায় সে সম্পর্কে কেবল অনুমান করবেন না এবং এটি বাস্তবায়নের চেষ্টা করবেন না এবং তারা কেন এটি চেয়েছিলেন তা না বুঝেই তারা যা চেয়েছিলেন তা কেবল প্রয়োগ করবেন না।

এটি বলেছিল, সাধারণ প্রশ্নের উত্তর দিতে, এটি আপনি যে বিকাশ দর্শন ব্যবহার করেন তার উপর নির্ভর করে। প্রতিটি প্রতিশ্রুতি যদি কাজ করে বলে আশা করা হয় তবে প্রতিটি প্রতিশ্রুতি পরীক্ষা করা উচিত। আপনি যদি প্রত্যেকটি ধাক্কার কাজ করে এমন দর্শনের সাথে একটি ডিভিসিএস ব্যবহার করেন তবে প্রতিটি ধাক্কা পরীক্ষা করুন।

সাধারণভাবে, লোকেদের এমন কিছু বলা ভাল যা তারা জানে না, তারপরে তারা যা জানে তা পুনর্বার করা। উদাহরণস্বরূপ, যদি তারা প্রাপ্ত রিডানডেন্ট ইমেলগুলির সংখ্যা হ্রাস করতে চান তবে বিল্ড ফ্রিকোয়েন্সি নয়, ইমেল সেটিংসগুলিতে ঝাঁকুনি দিন।

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