বিল্ড স্ক্রিপ্ট এবং বিল্ড সার্ভারের দায়িত্ব


12

বিল্ড স্ক্রিপ্ট এবং বিল্ড সার্ভারের দায়িত্ব সম্পর্কে আমার কিছু ব্যাখ্যা দরকার।

অবিচ্ছিন্ন ইন্টিগ্রেশন এবং বিল্ডগুলি সম্পর্কে আমি নেটে কয়েকটি নিবন্ধ পড়েছি। সুদ্ধ

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

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

  • প্রতিটি প্রকল্পের এর বিল্ড স্ক্রিপ্ট থাকে
  • এই স্ক্রিপ্টটি প্রকল্পটি তৈরি করে
  • এই স্ক্রিপ্টটি নির্ভর করে যে পূর্বে নির্মিত হয়েছিল তা নিশ্চিত করে

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

তবে বিল্ড সার্ভারের দায়িত্বগুলি হ'ল:

  • সংগ্রহস্থলটি পরীক্ষা করে দেখুন
  • বিল্ড ট্রিগার
  • ট্রিগার পরীক্ষা এবং অন্যান্য QA সরঞ্জাম
  • নিদর্শন উপলব্ধ করা

এটি ম্যানুয়ালি, রাত্রে বা যখনই ভান্ডারগুলির পরিবর্তন হবে তা ট্রিগার হতে পারে


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

আপনি দয়া করে উদ্দেশ্যগুলি বিস্তারিতভাবে বর্ণনা করতে পারেন, এবং দায়িত্বগুলি পরিষ্কার করতে পারেন?


4
যতটা এটি একটি ভাল প্রশ্ন, এবং উত্তর দেওয়া হবে (আমার সময় পেলে পরে আসবে, এবং এখনও এর উত্তর দেওয়া হয়নি): আপনার সত্যিকারের পিছনে গিয়ে আপনার পরামর্শদাতার কাছ থেকে স্পষ্টতা পাওয়া উচিত। আপনার পারফরম্যান্সের মূল্যায়ন করবে এমন কারও সাথে কথোপকথনের পরে বিভ্রান্ত হওয়া বিপর্যয়ের একটি রেসিপি এবং এটি যে তারা আপনার সাথে পর্যাপ্ত পরিমাণে যোগাযোগ করছে না এমন ইঙ্গিত (অথবা আপনি সক্রিয়ভাবে শুনছেন না, তবে এটি এমনটি বলে মনে হচ্ছে না) এখানে).
স্টিভেন এভার্স

2
@ অ্যাঞ্জেলো.হাননেস আমি মনে করি আপনি সমস্ত প্রধান পয়েন্টগুলি আঘাত করেছেন। আপনি কী সম্পর্কে বিভ্রান্ত হয়েছেন তা আরও স্পষ্ট করে বলতে পারেন?
এম ডুডলি

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

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

উত্তর:


14

এই বিষয়গুলি অরথোগোনাল:

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

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

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

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

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