আইডিই এক ক্লিক ক্লিকের পরিবর্তে পৃথক বিল্ড সরঞ্জাম ব্যবহার করতে একাকী বিকাশকারীকে কনভেন্ড করুন


22

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

এখন যে চুক্তির মধ্যে আমি নিজের স্ব-অর্থায়িত প্রকল্পে কাজ করছি এবং এটি এমন পর্যায়ে পৌঁছেছে যে এটি আসলে অর্থোপার্জনের পক্ষে যথেষ্ট উপযুক্ত good এমনকি আমার কাছে একটি সম্ভাব্য বিনিয়োগকারীও সারিবদ্ধভাবে রয়েছে এবং আগামী কয়েক সপ্তাহগুলিতে তাদের একটি বিটা সংস্করণ দেখানোর পরিকল্পনা করছি।

তবে সমস্ত পাশাপাশি আমি আইডিইতে বিল্ড বোতামটি ক্লিক করি এবং এটি জার ফাইল তৈরি করে এবং এটি ঠিক কাজ করে। অবশ্যই, প্রচলিত প্রজ্ঞাটি পরামর্শ দেয় যে আমার "পিপীলিকা / মাভেন / গ্রেডল স্ক্রিপ্টগুলি" লিখতে হবে এবং আইডিইয়ের পরিবর্তে এটি ব্যবহার করা উচিত, তবে আমার অবস্থার (একা একা কাজ করা) এর কোন ठोस সুবিধা কী?

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


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


5
আপনার সাথে ডিল করার জন্য বিল্ড সরঞ্জামগুলি কেবল "সমস্ত সর্বশেষ কোডের সমন্বিত সর্বশেষ সংস্করণ" এর চেয়ে বেশি উপকারী হয়ে ওঠে। আপনি এখনও সেখানে নেই - আপনি যে মুহুর্তটি করবেন, আপনার বিল্ডকে নিয়ন্ত্রণ করুন।

8
আপনি এখন যা করছেন তা যদি কাজ করে এবং আপনাকে কোনও সমস্যা না করে - কেবল চালিয়ে যান। "অকাল অপরিশোধন" সম্ভবত "অকাল অপটিমাইজেশন" এর চেয়ে বেশি সমস্যা তৈরি করে। আপনার আইডিই ছাড়াও সম্ভবত পিঁপড়ের নীচে পিঁপড়া ব্যবহার করা হচ্ছে।
জেমস অ্যান্ডারসন

1
খুব বৈধ প্রশ্ন
মধুর আহুজা

উত্তর:


11

আমি আপনাকে এন্টির বিপরীতে ম্যাভেনকে ব্যবহার করার বিষয়ে পরামর্শ দেব। যদি আপনার আইডিই আপনার প্রকল্পটি এক ক্লিকে তৈরি করতে পারে তবে সম্ভবত ম্যাভেন আপনার প্রকল্পটি কার্যত কোনও কাস্টম কনফিগারেশন না দিয়ে তৈরি করতে পারে।

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

যাইহোক, এই ম্যানুয়াল ড্রডজারি থেকে মুক্তি পেতে আমি যা করি তা হ'ল আমি আমার প্রকল্পটি মাভেনের সাথে তৈরি করার জন্য কনফিগার করেছি এবং আমি আমার pom.xmlফাইলটি জাভা ওয়েব-অ্যাপ্লিকেশনটির জন্য প্রয়োজনীয় সমস্ত তথ্য এবং এটি ডাউনলোড করে ডাউনলোড করে কনফিগার করেছি the টমক্যাটের সঠিক সংস্করণ, স্থানীয়ভাবে ইনস্টল করুন, সঠিক টমক্যাট কনফিগারেশন ফাইলগুলি সেট আপ করুন, কোনও প্রকল্প নির্ভরতা এবং প্রকল্পের ওয়ার ফাইল নিজেই স্থাপন করুন এবং তারপরে টমক্যাট শুরু করুন। আমি তখন একটি সাধারণ শেল স্ক্রিপ্ট তৈরি করি (এবং .batউইন্ডোজের জন্য একটি সংস্করণও) যা সার্ভারটি তৈরি এবং শুরু করতে মাভেনকে ব্যবহার করে:

mvn clean install cargo:start -Dcargo.maven.wait=true

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

./startServer.sh #or startServer.bat for Windows

এবং উত্পাদন পরিবেশে একটি আপডেট স্থাপন করার প্রক্রিয়াটি কেবলমাত্র:

  1. চলমান সার্ভার উদাহরণটি বন্ধ করুন, যদি থাকে।
  2. চালান svn update -r<target_release_revision>
  3. চালান ./startServer.sh

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

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

এবং অবশ্যই, আপনার প্রশ্নের অন্য উত্তর হ'ল স্বয়ংক্রিয় নির্ভরতা ব্যবস্থাপনা, তবে আমি বিশ্বাস করি এটি ইতিমধ্যে অন্যান্য উত্তর দ্বারা আবৃত।


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

7

আপনার কোড যতক্ষণ সোর্স নিয়ন্ত্রণে থাকে ততক্ষণ আপনার ডিস্ট্রিবিটেবলগুলি তৈরি করতে আইডিই ব্যবহার করা ভাল।

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


7
আমি 1000 বার বেশি দ্বিমত পোষণ করছি। যদি আপনি আপনার বিল্ড স্ক্রিপ্টগুলি সঠিকভাবে গঠন করেন, তবে আপনাকে কেবল একবার সেগুলি লেখার জন্য ব্যয় করতে হবে এবং তারপরে যেকোন সংখ্যক প্রকল্পে প্রায় ভারব্যাটিম ব্যবহার করতে পারেন। ওয়ান-লাইন বিল্ড কমান্ড থাকার পক্ষে অনেক কিছু বলা যায় যা সিস্টেম স্বয়ংক্রিয়ভাবে বিল্ড, কনফিগার, স্থাপন এবং পরিচালনা করে। এবং একবার আপনি যে আছে, এটা একটা সংরক্ষণ করতে হবে টন ম্যানুয়াল স্থাপনার / কনফিগারেশন ব্যবস্থাপনা, যা আপনি উল্লেখ ঐ নতুন বৈশিষ্ট্যগুলি ব্যয় করা যেতে পারে তুলনায় সময়।
aroth

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

মাভেনের একটি সূক্ষ্ম সুবিধা হ'ল এটি পিঁপড়ার প্রকল্পগুলিতে প্রায়শই দেখা যায় এমন বিজ্ঞাপন-এর বিপরীতে ফাইলগুলির একটি আদর্শ বিন্যাসের সাথে সবচেয়ে ভাল কাজ করে। লোকেরা যখন মাভেন ডিফল্টগুলি ব্যবহার করে তারা সেগুলি ব্যবহার করে দেখে এবং তাদের প্রকল্পগুলি ভবিষ্যতের রক্ষণাবেক্ষণকারীদের পক্ষে বুঝতে সহজ হয়।

1
@ আরথ তবে ওপি "ম্যানুয়াল মোতায়েন / কনফিগারেশন ম্যানেজমেন্ট" করার জন্য কোনও সময় ব্যয় করে না, তিনি কেবল তার আইডিইতে একটি বোতাম চাপান। সুতরাং এটি কোনও সময়ই বাঁচবে না।
Atsby

1
আইডিই একটি বিল্ড সিস্টেম। অন্যথায় আমি এটি ব্যবহার করা হবে না।
আর্ন এভার্টসন

5

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

ওভারহেড অবশ্যই আছে, কেন এটি মূল্য হবে?

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

আমার বর্তমান প্রকল্পের জন্য, স্ক্রিপ্টটি ওয়েব সংরক্ষণাগারটিতে স্থিতিশীল বিশ্লেষণ সরঞ্জাম তৈরি করে, জেএস / সিএসএস, ইউনিট পরীক্ষাগুলি এবং প্যাকেজগুলি সংকুচিত করে। জেনকিনস প্রতিটি প্রতিশ্রুতিবদ্ধতার পরে এটি চালায় এবং প্রকল্পটিকে একটি পরীক্ষার সার্ভারে স্থাপন করেন।

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


প্রকৃতপক্ষে. এই বিকাশকারীকে আসল জিনিসটি বিবেচনা করা উচিত এটি একটি ভাল সিআই সমাধান এবং একটি বিল্ড স্ক্রিপ্ট সেগুলি সেখানে পেতে সহায়তা করতে পারে।
বিল মিশেল

4

বিল্ড সরঞ্জামগুলির সুবিধা

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

তারা আপনার বিকাশের জীবনচক্রকে সহজতর করে এবং যেমন তারা আপনাকে অনুমতি দেয়:

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

আমরা যদি মাভেনকে এটি প্রয়োগ করি ...

জাভা বিশ্বে আপনারা যারা এবং মাভেন ব্যবহার করেন তাদের জন্য , এটি পড়ে আপনি প্রতিটি পয়েন্টের সাথে প্রাকৃতিকভাবে যুক্ত হন:

  • মাভেনের কাঠামোগত প্রকল্প সম্মেলন
  • মাভেন আরকিটাইপস
  • এসসিএম এবং চুল্লী বিল্ডস থেকে একটি প্রকল্প ধাতবকরণ
  • জেনকিনস / হাডসন / বাঁশ / অন্যান্য সমর্থন + ইন্টিগ্রেশন টেস্টিং অনুশীলনের জন্য মাভেনের সমর্থন
  • m2eclipse, নেটিভ IntelliJ বা নেটবিয়ান সমর্থন - বা কমান্ড লাইনের জন্য mvnsh
  • সংস্করণ-ম্যাভেন-প্লাগইন
  • ম্যাভেন-রিলিজ-প্লাগইন, বিল্টনম্বার-মাভেন-প্লাগইন প্লাগইন এবং সংস্করণ-মাভেন-প্লাগইন

এবং অবশ্যই, মাভেন (তবে অন্যান্য সরঞ্জামগুলিও) আপনাকে নির্ভরতা পরিচালনা দেয় এবং এটি আপনার জন্য একটি বিশাল সময় এবং স্পেস সেভার (আপনার দলের লোকের সংখ্যা অনুসারে) এবং আপনার এসসিএমের জন্য।

সবকিছুর আপেক্ষিক:

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


3

বিল্ড সরঞ্জামগুলি ব্যবহারের জন্য এখানে আমার শীর্ষ 4 কারণ রয়েছে:

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

1
বিশেষত নির্ভরতা পরিচালনা আমি বাইরের লাইব্রেরিগুলি ডাউনলোড এবং যুক্ত করতে খুব অলস। নির্ভরতা হিসাবে এগুলি যুক্ত করার জন্য আরও সহজ। "ভুল সংস্করণ? কনফিগারেশনে সংস্করণ পরিবর্তন করুন এবং পুনর্নির্মাণ করুন!"

হ্যাঁ তবে নির্ভরতা হ্যান্ডলিং সমস্ত বিল্ড সরঞ্জামগুলির পূর্ব-প্রয়োজনীয়তা নয়। মাভেন, গ্রেডল, আইভী এটি সমর্থন করে। পিপড়া, মেক, ইত্যাদি ... না।
হাইলেম

2

প্র্যাগমেটিক প্রোগ্রামার বইটিতে অ্যান্ড্রু হান্ট এবং ডেভিড থমাস বলেছেন যে 'চেকআউট-বিল্ড-টেস্ট-মোতায়েন' একক কমান্ড হওয়া উচিত। (অধ্যায়: প্রাগমেটিক প্রকল্প) তুমি লিখেছিলে..

এমনকি আমার কাছে একটি সম্ভাব্য বিনিয়োগকারীও সারিবদ্ধভাবে রয়েছে এবং আগামী কয়েক সপ্তাহগুলিতে তাদের একটি বিটা সংস্করণ দেখানোর পরিকল্পনা করছি

তারপরে, আমি নিশ্চিত যে আপনার দলটি বাড়তে চলেছে .. স্বয়ংক্রিয়ভাবে পরীক্ষা-স্থাপনার ক্ষমতা সম্পন্ন করা আরও বেশি গুরুত্বপূর্ণ।

আপনি যে বিশাল এক্সএমএল (স্ক্রিপ্ট) দেখেছেন তা সাধারণত এককালীন কাজ। বেশিরভাগ সময় একই স্ক্রিপ্টগুলি অনেকগুলি প্রকল্পে ব্যবহার করা যেতে পারে।

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


1

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


আমি ঠিক কী ভাবছিলাম! আমি বর্তমানে এমন জায়গায় কাজ করছি যেখানে প্রতিটি বিকাশকারী নিজস্ব প্রকল্পে একা কাজ করে। আমি এখনও তাদের বিল্ড সিস্টেমের ধারণাটি বিক্রি করতে পারিনি, তবে আমি নিজেই এটি ব্যবহার করছি কারণ আমার মনে হয় এটি সত্যিই সহায়তা করে।
ইলিয়াস

0

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


1
আমি পৃথক বিল্ড সরঞ্জামের প্রয়োজন ছাড়াই ইতোমধ্যে ইউনিট পরীক্ষা করে নিই। আইডিই পরীক্ষা চালাতে পারে বা আমি কমান্ড লাইন থেকে তাদের চালাতে পারি।

0

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

এটি আপনাকে নন-জিইউআই এনভায়রনমেন্টগুলিতে বিল্ড সম্পাদন করতে দেয়, যেমন কোনও সার্ভারে ঝাঁকুনি দেয় এবং আপনাকে নিজের সফ্টওয়্যার তৈরির ক্ষমতা হারাতে ভেবে চিন্তিত না করে আইডিই স্যুইচ করতে দেয়।

কিছু বিল্ড টুলস আপনাকে ট্যাগিং এবং রিলিজগুলি মোতায়েন করতে সহায়তা করে, কোড কভারেজ রিপোর্ট তৈরি করার জন্য শালীন ডিফল্টস সহ আসে with

আপনি যখন আরও লোক যুক্ত করবেন, তখন একটি বিল্ড টুল নিশ্চিত করবে যে আপনি অন্য কারোর দুর্বল আইডিই কনফিগারেশনের পক্ষে ঝুঁকিপূর্ণ নন। সহকর্মীদের গ্রহণের ইনস্টলেশনগুলি ঠিক করার জন্য আমি নিয়মিত স্ক্রিনশ্যার করি কারণ তারা বিল্ড সরঞ্জামগুলি ব্যবহার করে না (এটিতে কাজ করে)।

যদিও চূড়ান্ত কারণটি হ'ল এটি এমন কিছু যা ম্যানুয়ালি করার দরকার নেই, সুতরাং এটি নিজেই করবেন না do অন্য সব কিছু থেকে আসে।

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