আপনি কি এক ধাপে একটি বিল্ড করতে পারেন?


14

থেকে জোএল পরীক্ষা :

আপনি কি এক ধাপে একটি বিল্ড করতে পারেন?

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


3
এটি নির্ভর করে তালিকার আইটেমগুলি কী? আদর্শভাবে, হ্যাঁ আপনার এটি স্বয়ংক্রিয়ভাবে সক্ষম হওয়া উচিত।
কেউ নেই

4
en.wikipedia.org/wiki/Build_automation BTW: কিছু থাকার এক ধাপ এক খুব বেশী হয় :)
Mchl

সমস্ত প্রকারের - ফাইলগুলি সরান, সঞ্চিত পদ্ধতিগুলি স্ক্রিপ্ট আউট করুন - 14 টি পদক্ষেপ রয়েছে!
বিলি.বব

2
ডিফারেন্ট এঙ্গেল থেকে, তালিকার মধ্যে কী আপনি মনে করেন আপনি স্বয়ংক্রিয়ভাবে চলতে পারবেন না?
তায়না

1
কীভাবে কোনও বিল্ডকে স্বয়ংক্রিয় করবেন সে প্রশ্নটি বিষয়গত নয়, এবং স্ট্যাক ওভারফ্লোতে জিজ্ঞাসা করা উচিত। একটি দরকারী উত্তর পেতে, প্রশ্নের প্রয়োজনীয় কাজের বিষয়ে আরও তথ্য থাকা উচিত।
ডেভিড থর্নলি

উত্তর:


10

মেক বিল্ড প্রক্রিয়াটিকে এক ধাপে স্বয়ংক্রিয় করতে পারে। আপনি যেভাবে চান তা তৈরি করতে পারেন much আমি নিশ্চিত নই কেন সাপ্পোরো মনে করে যে মেক কেবল সি / সি ++ এর ক্ষেত্রে প্রযোজ্য। আপনি যেকোন ধরণের কমান্ড চালাতে মেক ব্যবহার করতে পারেন। এটি প্রোগ্রামিংয়ের সাথেও আবদ্ধ নয় যদিও এটি সাধারণত এটির জন্য ব্যবহৃত হয়।


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

1
যেহেতু অনেকগুলি 'নিক্স অ্যাপস / সিস্টেমগুলি'। / কনফিগার সাথে ইনস্টল করা আছে; করা; মেক ইনস্টল করুন 'আমি মনে করি একটি ইনস্টলেশন ইঞ্জিন হিসাবে মেকও দ্বিগুণ হয়ে যায়। এটি যদি এটি করতে পারে তবে আমিও নিশ্চিত যে এটি ওপি'র কলহের সমাধান করতে পারে।
জেবিআর উইলকিনসন

তৈরি করুন, তবে বাক্য গঠনটি বেশ অস্পষ্ট। আজ অবধি আমি 2 টি বিকল্পের মুখোমুখি হয়েছি: স্কোনস (মেক + মেকডেপেন্ডডের চেয়ে অনেক সহজ) এবং মেকফিল (মালিকানাধীন) তৈরির কাজটি স্বয়ংক্রিয় করার একটি সরঞ্জাম।
ম্যাথিউ এম।

@ জেবিআরউইলকিনসন ... যেমন আমি বলেছিলাম যে আপনি যা চান তা তৈরি করতে পারে;)
পেমদাস

3

আপনার পরিবেশের উপর নির্ভর করে আপনি মেক (সি / সি ++), পিপীলিকা / মাভেন (জাভা), গ্রেডল (গ্রোভি) - এটিই যার সাথে আমি পরিচিত। আপনার পরিবেশের জন্য জনপ্রিয় সমাধানের সম্ভাবনা বেশি।


এটি একটি
এএসপি.এনইটি

@ এম.এডমন্ডসন - তারপরে ক্রুইসেকন্ট্রোল.সোর্সফোর্জন.নাট সম্ভবত আপনার যাওয়ার উপায়
বোবাহ

এএসপি.এনইটি-র জন্য আরও একটি ভাল ধারাবাহিক সংহত পরিবেশ টিমসিটি। আমি ক্রুজকন্ট্রোল এবং টিমসিটি ব্যবহার করেছি এবং আমি টিম সিটিকে ব্যবহার করা কিছুটা সহজ এবং কিছুটা শক্তিশালী বলে মনে করেছি। তবে সেটি আর হতে পারে না।
যৌক্তিকগীত

ন্যান্ট হ'ল নেট এএনটি ভেরিয়েন্ট যা আমরা ক্রুজ কন্ট্রোলের পরিপূরক হিসাবে ব্যবহার করেছি যা ব্যবহারের জন্য কোড তৈরি করতে আমি ব্যবহার করব না যেখানে আপনি কয়েকটি অতিরিক্ত জিনিস অন্তর্ভুক্ত / টুইড / প্যারামিটার সেট এবং পরিবর্তিত ইত্যাদি চেয়েছিলেন tend । এএনটি / ন্যান্ট এটাই ভাল।
জন হপকিন্স

আমি দ্বিতীয় জন জপ হপকিন্ডসের পরামর্শটিকে দ্বিতীয় করে বলছি - আপনার পরিবেশের জন্য দুর্দান্ত নয়।
জেবিআর উইলকিনসন

3

কর্মক্ষেত্রে, আমরা ফাইনালবিল্ডার ব্যবহার করি , যা সম্পূর্ণ প্রক্রিয়াটি স্বয়ংক্রিয় করার জন্য একটি স্ক্রিপ্ট সেটআপ করা সহজ করে তোলে: কোড পরীক্ষা করে দেখুন, সমস্ত কিছু তৈরি করুন, পরীক্ষা পরিচালনা করুন, স্থাপনার প্যাকেজ তৈরি করুন ইত্যাদি

এটি একটি খুব ভাল সরঞ্জাম এবং এটি সম্প্রতি পরিবর্তন এবং কনফিগারেশন পরিচালনার সরঞ্জামগুলির জন্য ডাঃ ডবস জোল্ট পুরষ্কার জিতেছে।


0

অবশ্যই এটি স্বয়ংক্রিয় করার একটি উপায় আছে। শেফের মতো সরঞ্জামের সাহায্যে , নতুনভাবে ইনস্টল হওয়া একটি নতুন সার্ভার স্থাপন করা এতটা সহজ হতে পারে:

knife bootstrap ip.address -N aNameForTheServer -r "role[some functionality]"

আমার ক্ষেত্রে সেই একক আদেশ দ্বারা সম্পাদিত কিছু পদক্ষেপগুলি হ'ল:

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

আমি নিশ্চিত না যে শেফ আপনার পরিবেশে কীভাবে পরিবেশনা করবেন উইন্ডোজ সমর্থনটিকে "প্রাথমিক" হিসাবে তালিকাভুক্ত করা হয়েছে, তবে ইউনিক্স-ভিত্তিক সিস্টেমের জন্য এটি মৌমাছির হাঁটুর।

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


0

এটি জাভা বিশ্বের ম্যাভেনের সাথে সোজা

mvn clean deploy

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

এই একক কমান্ডটি অ্যাপ্লিকেশনটিকে পুরোপুরি ডেভ সার্ভার ক্লাস্টারে স্থাপন করা হয় যাতে এটি অন্যান্য বিকাশকারীদের সাথে তত্ক্ষণাত্ কাজ করার জন্য সহজেই উপলব্ধ হয় (ধরে নিলে এটি পরীক্ষাগুলি পাস করেছে)। কোনও ডেভ ডিপ্লোয়মেন্ট ব্যর্থ হওয়া অস্বাভাবিক, যেহেতু ডেভলপাররা স্থানীয়ভাবে এটির সাথে কাজ করে যাচাই করেছে mvn clean install

স্ন্যাপশট আর্টিফ্যাক্ট (ওয়ার) এর পরে অন্যান্য বিকাশকারীদের সাথে ভাগ করার জন্য (স্ট্যান্ডার্ড মাভেন deployআচরণ অনুযায়ী) ম্যাভেন সংগ্রহস্থলে অনুলিপি করা হয় ।

ঠিক আছে, তবে আপনি কেবল দেবকে একটি স্ন্যাপশট স্থাপন করেছেন, পরীক্ষা এবং উত্পাদন সম্পর্কে কী বলা যায়?

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

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

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


0

আমি অনুভব করেছি যে আমাদের জোয়েল পরীক্ষার বাইরে এটি পরীক্ষা করতে পারি তাই ...

পাইথ্রন ব্যবহার করে আমি পাইথনটিতে একটি বিল্ড সার্ভার তৈরি করেছি

কোডটি কমান্ড লাইন থেকে ভিএসএসের সাথে সিঙ্ক করা হয়েছিল, বোরল্যান্ড মেক দিয়ে বিল্ড তৈরি করা হয়েছিল (বেশিরভাগ IDEs তাদের জন্য ফাইল তৈরি করে বা না তারা কল করে call ডেলফি ফাইলগুলি তৈরি করতে পাম্প করত এবং তাদের .BPG ফাইলগুলি কল করত, এখন তারা ' পুনরায় এমএসবিল্ড এক্সএমএল ফাইল এবং আপনি এমএসবিল্ড ব্যবহার করতে পারেন) এবং ত্রুটিগুলি একটি এক্সএমএল ফাইলে রাখা হয়েছিল যা আমি সবে যুক্ত করে রেখেছি।

সুতরাং .. কেবল একটি ব্যাচের ফাইল লিখুন এবং এই জিনিসগুলি করুন।

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