অবিচ্ছিন্ন ডেলিভারি টিউটোরিয়াল - জেনকিন্স ব্যবহার করে একটি অবিচ্ছিন্ন ডেলিভারি পাইপলাইন তৈরি করা

অবিচ্ছিন্ন ডেলিভারি সম্পর্কিত এই ব্লগটি জেনকিন্স ব্যবহার করে হ'ল বিল্ড, টেস্ট ইত্যাদির মতো প্রতিটি পদক্ষেপের সাথে জড়িত তাদের ব্যাখ্যা করবে।

অবিচ্ছিন্ন বিতরণ:

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



  • অবিচ্ছিন্ন ডেলিভারি কী?
  • সফ্টওয়্যার পরীক্ষার প্রকার
  • অবিচ্ছিন্ন একীকরণ, বিতরণ এবং স্থাপনার মধ্যে পার্থক্য
  • অবিচ্ছিন্ন সরবরাহের কী দরকার?
  • হ্যান্ডস অন জেনকিনস এবং টমক্যাট ব্যবহার করে

ক্রমাগত ডেলিভারি কীভাবে কাজ করে তা আমাদের দ্রুত বুঝতে দিন।



অবিচ্ছিন্ন ডেলিভারি কী?

এটি এমন একটি প্রক্রিয়া যেখানে আপনি সফ্টওয়্যারটি এমনভাবে তৈরি করেন যাতে এটি যে কোনও সময় উত্পাদনে প্রকাশিত হতে পারে।নীচের চিত্রটি বিবেচনা করুন:

অবিচ্ছিন্ন বিতরণ - অবিচ্ছিন্ন বিতরণ - এডুরেকা



উপরের চিত্রটি আমাকে ব্যাখ্যা করুন:

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

আমি এগিয়ে যাওয়ার আগে এটি কেবল ন্যায্য হবে আমি আপনাকে বিভিন্ন ধরণের পরীক্ষার ব্যাখ্যা দিই।

সফ্টওয়্যার পরীক্ষার প্রকারগুলি:

বিস্তৃতভাবে বলতে গেলে দুটি ধরণের পরীক্ষা করা হয়:



  • ব্ল্যাকবক্স পরীক্ষা: এটি একটি পরীক্ষামূলক কৌশল যা সিস্টেমের অভ্যন্তরীণ প্রক্রিয়াটিকে উপেক্ষা করে এবং সিস্টেমের কোনও ইনপুট এবং প্রয়োগের বিরুদ্ধে উত্পন্ন আউটপুটকে কেন্দ্র করে। একে ফাংশনাল টেস্টিংও বলা হয়। এটি মূলত সফ্টওয়্যার যাচাই করার জন্য ব্যবহৃত হয়।
  • হোয়াইটবক্স পরীক্ষা: একটি পরীক্ষার কৌশল যা কোনও সিস্টেমের অভ্যন্তরীণ প্রক্রিয়াটিকে বিবেচনা করে account একে স্ট্রাকচারাল টেস্টিং এবং গ্লাস বক্স টেস্টিংও বলা হয়। এটি মূলত সফ্টওয়্যার যাচাই করার জন্য ব্যবহৃত হয়।

হোয়াইটবক্স পরীক্ষা:

দুটি ধরণের পরীক্ষা করা হয়, যা এই বিভাগের আওতায় আসে।

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

ব্ল্যাকবক্স পরীক্ষা:

এই বিভাগের অধীনে একাধিক পরীক্ষা রয়েছে। আমি ফোকাস করবকয়েক, যা আপনার জানার জন্য গুরুত্বপূর্ণ এই ব্লগটি বুঝতে:

  • কার্যকরী / স্বীকৃতি পরীক্ষা: এটি নিশ্চিত করে যে সিস্টেমের প্রয়োজনীয়তার জন্য প্রয়োজনীয় নির্দিষ্ট কার্যকারিতা কাজ করে। বিতরণ করা পণ্য প্রয়োজনীয়তা পূরণ করে এবং গ্রাহকের প্রত্যাশায় কাজ করে তা নিশ্চিত করার জন্য এটি করা হয়
  • সিস্টেম পরীক্ষা: এটি নিশ্চিত করে যে বিভিন্ন পরিবেশে (যেমন, অপারেটিং সিস্টেমগুলি) সফ্টওয়্যারটি রেখে এটি এখনও কাজ করে।
  • চাপ পরীক্ষা: এটি প্রতিকূল পরিস্থিতিতে কীভাবে সিস্টেমটি আচরণ করে তা মূল্যায়ন করে।
  • বিটা টেস্টিং: এটি শেষ ব্যবহারকারীদের দ্বারা করা হয়, একটি বাহিনীর বিকাশের দল বা প্রকাশ্য হিসাবে প্রকাশিত পণ্যটির সম্পূর্ণ প্রাক সংস্করণ প্রকাশ করেবিটাসংস্করণ বিটা পরীক্ষার লক্ষ্য হ'ল অপ্রত্যাশিত ত্রুটিগুলি coverাকা দেওয়া।

অবিচ্ছিন্ন একীকরণ, বিতরণ এবং স্থাপনার মধ্যে পার্থক্যটি ব্যাখ্যা করার জন্য এখন আমার সঠিক সময় explain

অবিচ্ছিন্ন একীকরণ, বিতরণ এবং স্থাপনার মধ্যে পার্থক্য:

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

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

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

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

আমি একটি সারণী ব্যবহার করে পার্থক্যগুলি সংক্ষেপে বলি:

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

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

মেঘে জেনকিন্স ব্যবহার করে কীভাবে সিআই / সিডি পাইপলাইন তৈরি করবেন তা শিখুন

তবে প্রশ্নটি হচ্ছে, ক্রমাগত একীকরণ যথেষ্ট কিনা।

আমাদের কেন ক্রমাগত বিতরণ দরকার?

আসুন এটি একটি উদাহরণ দিয়ে বুঝতে পারি।

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

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

ব্যর্থতার স্পষ্ট কারণ কী হতে পারে?

ঠিক আছে, বেশিরভাগ লোকেরা যে প্রথম কারণটি ভাববেন তা হ'ল কনফিগারেশনটিতে কিছু সমস্যা আছে। বেশিরভাগ লোকের মতো তারা এমনকি এটি ভেবেছিল।তারা পরিবেশের কনফিগারেশনে কী ভুল ছিল তা খুঁজতে অনেক সময় ব্যয় করেছিল, কিন্তু তারা সমস্যাটি খুঁজে পেল না ’t

একজন উপলব্ধিকারী বিকাশকারী একটি স্মার্ট পদ্ধতির চেষ্টা করেছেন:

তারপরে একজন প্রবীণ বিকাশকারী তার বিকাশ মেশিনে অ্যাপ্লিকেশনটি চেষ্টা করেছিলেন। এটি সেখানে কাজ করে না।

কিভাবে জাভা ছাঁটাই

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

সমস্যা বিবৃতি:

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

উপরের সমস্যাগুলি দেখে শিখে নেওয়া পাঠগুলি সংক্ষেপে বলি:

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

সমাধান - অবিচ্ছিন্ন ডেলিভারি পাইপলাইন (অটোমেটেড স্বীকৃতি পরীক্ষা):

তারা পরবর্তী ধাপে অবিচ্ছিন্ন একীকরণ (কন্টিনিউজ ডেলিভারি) নিয়েছিল এবং বেশ কয়েকটি সহজ, স্বয়ংক্রিয় স্বীকৃতি পরীক্ষার প্রবর্তন করেছিল যা প্রমাণ করে যে অ্যাপ্লিকেশনটি চলে এবং এটি তার সবচেয়ে মৌলিক কার্য সম্পাদন করতে পারে।স্বীকৃতি পরীক্ষার পর্যায়ে চলমান বেশিরভাগ পরীক্ষা হ'ল কার্যকরী স্বীকৃতি টেস্ট T

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

তত্ত্বের যথেষ্ট পরিমাণ, আমি এখন আপনাকে জেনকিনস ব্যবহার করে একটি ধারাবাহিক ডেলিভারি পাইপলাইন তৈরি করতে দেখাব।

জেনকিন্স ব্যবহার করে অবিচ্ছিন্ন ডেলিভারি পাইপলাইন:

এখানে আমি জেনকিন্সকে একটি ধারাবাহিক ডেলিভারি পাইপলাইন তৈরি করতে ব্যবহার করব, যাতে নিম্নলিখিত কাজগুলি অন্তর্ভুক্ত থাকবে:

ডেমোতে জড়িত পদক্ষেপগুলি:

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

প্রাক-প্রয়োজনীয়তা:

  • CentOS 7 মেশিন
  • জেনকিন্স 2.121.1
  • ডকার
  • টমকেট 7

পদক্ষেপ - 1 উত্স কোডটি সংকলন:

আসুন প্রথমে জেনকিনসে একটি ফ্রিস্টাইল প্রকল্প তৈরি করে শুরু করা যাক। নীচের স্ক্রিনশটটি বিবেচনা করুন:

আপনার প্রকল্পের একটি নাম দিন এবং ফ্রিস্টাইল প্রকল্প নির্বাচন করুন:

আপনি যখন নীচে স্ক্রোল করবেন আপনি উত্স কোড সংগ্রহস্থল যুক্ত করার জন্য একটি বিকল্প পাবেন, গিট নির্বাচন করুন এবং সংগ্রহস্থল URL যুক্ত করুন, সেই সংগ্রহস্থলে একটি pom.xML জরিমানা রয়েছে যা আমরা আমাদের প্রকল্পটি তৈরি করতে ব্যবহার করব। নীচের স্ক্রিনশটটি বিবেচনা করুন:

এখন আমরা একটি বিল্ড ট্রিগার যুক্ত করব। পোল এসসিএম বিকল্পটি চয়ন করুন, মূলত, আমরা কোড পরিবর্তন করার জন্য জিনকিন্সকে প্রতি 5 মিনিটের পরে গিটহাব সংগ্রহস্থলটি পোল করার জন্য কনফিগার করব। নীচের স্ক্রিনশটটি বিবেচনা করুন:

আমি এগিয়ে যাওয়ার আগে আমাকে মাভেন বিল্ড সাইকেলটির একটি ছোট্ট পরিচয় দেই।

বিল্ড লাইফসাইকেলের প্রতিটি বিল্ড পর্যায়গুলির একটি পৃথক তালিকা দ্বারা সংজ্ঞায়িত করা হয়, যেখানে একটি বিল্ড ফেজ লাইফাইসাইকেলের একটি মঞ্চকে উপস্থাপন করে।

নীচে বিল্ড পর্যায়ের তালিকা রয়েছে:

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

সোর্স কোড সংকলন, ইউনিট টেস্টিং এবং এমনকি যুদ্ধের ফাইলটিতে অ্যাপ্লিকেশনটিকে প্যাকেজিংয়ের জন্য আমি নীচের কমান্ডটি চালাতে পারি:

এমভিএন ক্লিন প্যাকেজ

আপনি আপনার বিল্ড জবটি বেশ কয়েকটি বিল্ড স্টেপে বিভক্ত করতে পারেন। এটি পরিষ্কার, পৃথক পর্যায়ে বিল্ডগুলি সংগঠিত করা সহজ করে তোলে।

সুতরাং আমরা উত্স কোডটি সংকলন করে শুরু করব। বিল্ড ট্যাবে, উপরোক্ত শীর্ষ স্তরের মাভেন টার্গেটগুলিতে ক্লিক করুন এবং নীচের কমান্ডটি টাইপ করুন:

সংকলন

নীচের স্ক্রিনশটটি বিবেচনা করুন:

এটি গিটহাব সংগ্রহস্থল থেকে উত্স কোডটি টানবে এবং এটি সংকলন করবে (মাভেন কম্পাইল ফেজ)।

Save এ ক্লিক করুন এবং প্রজেক্টটি রান করুন।

ফলাফলটি দেখতে এখন কনসোল আউটপুটটিতে ক্লিক করুন।

পদক্ষেপ - 2 ইউনিট পরীক্ষা:

এখন আমরা ইউনিট পরীক্ষার জন্য আরও একটি ফ্রিস্টাইল প্রকল্প তৈরি করব।

আমরা আগের কাজটিতে যেমন করেছি উত্স কোড পরিচালনা ট্যাবে একই সংগ্রহস্থল URL যুক্ত করুন।

এখন, 'বুয়েড ট্রিগার' ট্যাবে 'অন্যান্য প্রকল্পগুলি নির্মিত হওয়ার পরে তৈরি করুন' এ ক্লিক করুন। সেখানে পূর্বের প্রকল্পের নাম লিখুন যেখানে আমরা উত্স কোডটি সংকলন করছি এবং আপনি নীচের বিকল্পগুলির মধ্যে যে কোনওটি নির্বাচন করতে পারেন:

  • ট্রিগার কেবল তখনই বিল্ডটি স্থিতিশীল থাকে
  • ট্রিগারটি যদিও বিল্ড অস্থির হয়
  • ট্রিগারটি এমনকি বিল্ড ব্যর্থ হলেও

আমি মনে করি উপরের বিকল্পগুলি বেশ স্ব-ব্যাখ্যামূলক, সুতরাং যে কোনও একটি নির্বাচন করুন। নীচের স্ক্রিনশটটি বিবেচনা করুন:

বিল্ড ট্যাবে, উপরোক্ত শীর্ষ স্তরের মাভেন টার্গেটগুলিতে ক্লিক করুন এবং নীচের কমান্ডটি ব্যবহার করুন:

পরীক্ষা

জেনকিনস আপনাকে আপনার পরীক্ষার ফলাফল এবং পরীক্ষার ফলাফলের প্রবণতা প্রদর্শন করতে সহায়তা করার একটি দুর্দান্ত কাজও করে।

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

সুতরাং আমাদের পরবর্তী কাজটি করা দরকার জেনকিন্সকে আমাদের ইউনিট পরীক্ষায় ট্যাবগুলি রাখতে।

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

** / লক্ষ্য / নিশ্চিতফায়ার-রিপোর্ট / *। এক্সএমএল

আবার এটি সংরক্ষণ করুন এবং বিল্ড এখন ক্লিক করুন।

এখন, জুনিট রিপোর্টটি / var / lib / jenkins / workpace / test / gameofLive- কোর / টার্গেট / নিশ্চিত আগুন-রিপোর্ট / টেস্ট-আচরণে লেখা হয়েছে।

জেনকিন্স ড্যাশবোর্ডেআপনি পরীক্ষার ফলাফলগুলিও লক্ষ্য করতে পারেন:

কিভাবে জাভা ডাবল ইনট পরিবর্তন করতে

পদক্ষেপ - 3 একটি ওয়ার ফাইল তৈরি করা এবং টমক্যাট সার্ভারে স্থাপন করা:

এখন, পরবর্তী পদক্ষেপটি হ'ল আমাদের অ্যাপ্লিকেশনটি একটি ওয়ার ফাইলটিতে প্যাকেজ করা এবং এটি ব্যবহারকারী স্বীকৃতি পরীক্ষার জন্য টমক্যাট সার্ভারে স্থাপন করা।

আরও একটি ফ্রিস্টাইল প্রকল্প তৈরি করুন এবং উত্স কোড সংগ্রহস্থল URL যুক্ত করুন।

তারপরে বিল্ড ট্রিগার ট্যাবে, অন্যান্য প্রকল্পগুলি তৈরি হওয়ার সময় বিল্ড নির্বাচন করুন, নীচের স্ক্রিনশটটি বিবেচনা করুন:

মূলত, পরীক্ষার কাজের পরে, স্থাপনের পর্বটি স্বয়ংক্রিয়ভাবে শুরু হবে।

বিল্ড ট্যাবে শেল স্ক্রিপ্টটি নির্বাচন করুন। ওয়ার ফাইলটিতে অ্যাপ্লিকেশনটি প্যাকেজ করতে নীচের কমান্ডটি টাইপ করুন:

এমভিএন প্যাকেজ

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

টমকেট শংসাপত্রগুলি নির্বাচন করুন এবং উপরের স্ক্রিনশটটি লক্ষ্য করুন। এছাড়াও, আপনাকে আপনার টমক্যাট সার্ভারের URL দেওয়া দরকার।

জেনকিনসে শংসাপত্র যুক্ত করার জন্য, জেনকিন্স ড্যাশবোর্ডের শংসাপত্র বিকল্পটিতে ক্লিক করুন।

সিস্টেমে ক্লিক করুন এবং গ্লোবাল শংসাপত্রগুলি নির্বাচন করুন।

তারপরে আপনি শংসাপত্রগুলি যুক্ত করার জন্য একটি বিকল্প পাবেন। এটিতে ক্লিক করুন এবং শংসাপত্র যুক্ত করুন।

টমকেট শংসাপত্র যুক্ত করুন, নীচের স্ক্রিনশটটি বিবেচনা করুন।

ওকে ক্লিক করুন।

এখন আপনার প্রকল্পের কনফিগারেশনে, আপনি পূর্বের ধাপে sertedোকানো টমক্যাট শংসাপত্রগুলি যুক্ত করুন।

সেভ ক্লিক করুন এবং তারপরে বিল্ড এখন নির্বাচন করুন।

প্রসঙ্গের পথ সহ আপনার টমক্যাট ইউআরএল-এ যান, আমার ক্ষেত্রে এটি http: // লোকালহোস্ট: 8081। এখন শেষে প্রসঙ্গের পথটি যুক্ত করুন, নীচের স্ক্রিনশটটি বিবেচনা করুন:

লিঙ্ক - HTTP: // লোকালহোস্ট: 8081 / জিএফ

আমি আশা করি আপনি প্রসঙ্গের পথটির অর্থ বুঝতে পেরেছেন।

এখন একটি পাইপলাইন ভিউ তৈরি করুন, নীচের স্ক্রিনশটটি বিবেচনা করুন:

নতুন ভিউ তৈরি করতে প্লাস আইকনে ক্লিক করুন।

আপনি যেভাবে চান পাইপলাইনটি কনফিগার করুন, নীচের স্ক্রিনশটটি বিবেচনা করুন:

আমি প্রাথমিক কাজটি বাছাই করা বাদ দিয়ে কিছু পরিবর্তন করিনি। সুতরাং আমার পাইপলাইন সংকলন থেকে শুরু হবে। আমি অন্যান্য কাজগুলিকে কনফিগার করেছি তারপরে, সংকলন পরীক্ষার পরে এবং স্থাপনা ঘটবে।

অবশেষে, আপনি পাইপলাইনটি আরএনএ ক্লিক করে পরীক্ষা করতে পারেন। প্রতি পাঁচ মিনিটের পরে যদি সোর্স কোডে কোনও পরিবর্তন হয়, সম্পূর্ণ পাইপলাইনটি কার্যকর করা হবে।

বাছাই করা অ্যারে সি ++

সুতরাং আমরা ব্যবহারকারী গ্রহণযোগ্যতা পরীক্ষার (ইউএটি) পরীক্ষার সার্ভারে ক্রমাগত আমাদের প্রয়োগ স্থাপন করতে সক্ষম হয়েছি।

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

সিআই / সিডি পাইপলাইনগুলি তৈরি করার জন্য আপনাকে বিভিন্ন ধরণের দক্ষতার দক্ষতা অর্জন করতে হবে প্রয়োজনীয় ডিভোপস দক্ষতা এখনই আয়ত্ত করুন