গিটল্যাব সিআই বনাম জেনকিনস [বন্ধ]


129

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


5
গিটল্যাব এখন গিটল্যাব
bbodenmiller

উত্তর:


122

এটি আমার অভিজ্ঞতা:

আমার কাজে আমরা গিটল্যাব ইই সহ আমাদের সংগ্রহস্থলগুলি পরিচালনা করি এবং আমাদের একটি জেনকিন্স সার্ভার রয়েছে (১.6)।

ভিত্তিতে তারা প্রায় একই কাজ। তারা কোনও সার্ভার / ডকার ইমেজে কিছু স্ক্রিপ্ট চালাবে।

টি এল; ডিআর;

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

সর্বাধিক সি আই সার্ভার বেশ সহজ (হয় concourse.ci ), gitlab-CI , বৃত্ত-CI , Travis-CI , drone.io , gocd এবং আপনি আর কি কি থাকে)। তারা আপনাকে ওয়াইএএমএল ফাইল সংজ্ঞা থেকে শেল / ব্যাট স্ক্রিপ্টগুলি সম্পাদন করতে দেয়। জেনকিনস অনেক বেশি প্লাগযোগ্য এবং এটি ইউআই সহ আসে। এটি আপনার প্রয়োজনের উপর নির্ভর করে হয় কোনও সুবিধা বা অসুবিধা হতে পারে।

জেনকিনস উপলব্ধ সমস্ত প্লাগইনগুলির কারণে খুব কনফিগারযোগ্য। এর নেতিবাচক দিকটি হ'ল আপনার সিআই সার্ভার প্লাগইনগুলির স্প্যাগেটে পরিণত হতে পারে।

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

আজকাল ( জেনকিন্স 2 আরো সঙ্গে "সঠিক CI" সমর্থন Jenkinsfileএবং pipline যা জেনকিন্স 2 থেকে ডিফল্ট আসে প্লাগইন), কিন্তু কম অর্থাত GitLab সি আই চেয়ে সংগ্রহস্থলে মিলিত হতো।

আপনার বিল্ড পাইপলাইনটি সংজ্ঞায়িত করতে YAML ফাইলগুলি ব্যবহার করা (এবং শেষ পর্যন্ত খাঁটি শেল / ব্যাট চালানো) আরও পরিষ্কার।

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

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

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

লেখার সময় কিছু পার্থক্য:



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

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

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

1
"সম্প্রদায় সংস্করণে কেবল একটি ফাইলের জন্য সমর্থন by এন্টারপ্রাইজ সংস্করণে ফাইলগুলি গুণিত করে" এর অর্থ। ? দুঃখিত, আমি বদ্ধ সমস্যাটি পড়ার চেষ্টা করেছি তবে সম্পর্কিত হতে পারিনি।
লেস্টার

62

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

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

অ্যাপ্লিকেশনটি বিভিন্ন লিনাক্স ডিস্ট্রিবিউশনে কীভাবে ইনস্টল হয় তা স্বয়ংক্রিয়ভাবে পরীক্ষা করার জন্য আমি এখনই এটি ব্যবহার করছি এবং এটি কনফিগার করার জন্য দ্রুত জ্বলজ্বল করছে (ফায়ারফক্সে একটি জেনকিন্স জব কনফিগারেশন খোলার চেষ্টা করুন এবং প্রতিক্রিয়াবিহীন স্ক্রিপ্ট আসার অপেক্ষা করুন) সম্পাদনা করার জন্য কতটা হালকা ওজন .gitlab-ci.yml)।

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

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

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


5
গীতলাব সম্পর্কে আমি আপনার সাথে সম্পূর্ণ একমত গীতলাব লেখার সময় আজকালকার মতো সম্পূর্ণ ছিল না। আমি গিটল্যাবকে একটি সরঞ্জাম হিসাবে খুব পছন্দ করি এবং ছেলেরা এতে যে সমস্ত কাজ করছে তা সত্যই প্রশংসা করি।
রিক

1
@ অ্যালফেজেম: আমি যাইহোক যাইহোক উল্লিখিত সাইটে আপনার প্রতিবেদনগুলি যাচাই করব: আপনার সমস্ত ব্যাখ্যার জন্য ধন্যবাদ। এই মুহুর্তে আমি সিদ্ধান্ত নিতে যাচ্ছি যে আমরা আমাদের সিআই-স্টাফের জন্য গিটল্যাবসিআই বা জেনকিন্স ব্যবহার করি কিনা।
ম্যাক্স শিন্ডলার

3
@ রিক আমি গিতলব সিআই-এর মতো করি তবে আমি অন্য পক্ষের পক্ষ থেকে ইয়ামল ফাইলগুলি রক্ষণাবেক্ষণের পক্ষে কঠোর বক্তব্য শুনেছি কারণ পুনরায় ব্যবহারযোগ্যতা নেই কারণ পাইপলাইনে অনেকগুলি ইয়ামাল ফাইল একই কাঠামো অনুসরণ করে এবং টেম্প্লেটিংকে এর চেয়ে সেরা বিকল্প হিসাবে দেখা হয় না Temp জেনকিনসফিল কারণ জেনকিনসফিল গ্রোভি ব্যবহার করে। সুতরাং এটি পুনরায় ব্যবহারযোগ্যতার জন্য কোড বনাম কনফিগারেশন সম্পর্কে। আপনি কি দয়া করে এ সম্পর্কে আপনার মতামত শেয়ার করতে পারেন?
ব্যবহারকারী 1870400

1
@ ব্যবহারকারী 1870400 আপনি টেম্পলেট করার অর্থ কী তা আমি পুরোপুরি নিশ্চিত নই। কারণ যতদূর আমি এটি দেখতে পাচ্ছি এটি আপনার সংগ্রহস্থলের কেবল একটি ফাইল। এবং এটি আপনার তুলনায় আলাদা নয় Jenkinsfile। আপনি ঠিক বলেছেন যে আপনার Jenkinsfileকোডটি চালানোর জন্য গ্রোভি (+ অতিরিক্ত জাভা লিবস) উপলব্ধ রয়েছে, যেখানে .gitlab-ci.yamlফাইলটি মূলত শেলকে সমর্থন করে তবে (রানারের অবস্থানের উপর নির্ভর করে)। অন্যদিকে আপনি এগুলি শেল স্ক্রিপ্ট থেকেও কল করতে পারেন, তবে ক্ষতিটি হ'ল আপনি মেশিন নির্ভরতা তৈরি করছেন (যা আমার মতে খুব স্বচ্ছ নয়)।
রিক

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

22

প্রথমত, আজকের হিসাবে, গিটল্যাব সম্প্রদায় সংস্করণ জেনকিন্সের সাথে পুরোপুরি আন্তঃযোগাযোগ্য হতে পারে। কোন প্রশ্ন না.

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

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

গিটল্যাব সিআই এবং জেনকিনস শক্তি

গিটল্যাব সিআই

গিটল্যাব সিআই প্রাকৃতিকভাবে গিটল্যাব এসসিএম-তে সংহত হয়েছে। আপনি gitlab-ci.ymlফাইলগুলি ব্যবহার করে পাইপলাইন তৈরি করতে পারেন এবং গ্রাফিকাল ইন্টারফেসের মাধ্যমে এগুলি পরিচালনা করতে পারেন ।

কোড হিসাবে এই পাইপলাইনগুলি অবশ্যই "বেস হিসাবে সবকিছু" অনুশীলন (অ্যাক্সেস, সংস্করণ, পুনরুত্পাদনযোগ্যতা, পুনঃব্যবহারযোগ্যতা ইত্যাদি) প্রয়োগ করে কোড বেসে স্পষ্টত সংরক্ষণ করা যেতে পারে।

গিটল্যাব সিআই একটি দুর্দান্ত দৃশ্য পরিচালনার সরঞ্জাম:

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

জেনকিন্স

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

কোড হিসাবে পাইপলাইন groovyস্ক্রিপ্ট ব্যবহার করে উপলব্ধ is

গিটল্যাব সিআই এবং জেনকিন্স একসাথে ব্যবহার করা

এটি প্রথমে কিছুটা রিডানড্যান্ট মনে হতে পারে তবে গিটল্যাব সিআই এবং জেনকিন্সের সংমিশ্রণটি বেশ শক্তিশালী।

  • গিটল্যাব সিআই অর্কেস্ট্রেটস (চেইন, রান, মনিটর ...) পাইপলাইনগুলি এবং গিটল্যাবের সাথে সংযুক্ত তার গ্রাফিকাল ইন্টারফেসটি উপকার করতে পারে
  • জেনকিন্স কাজটি চালায় এবং তৃতীয় পক্ষের সরঞ্জামগুলির সাথে কথোপকথনের সুবিধার্থে।

এই নকশার আর একটি সুবিধা হ'ল সরঞ্জামগুলির মধ্যে আলগা সংযোগ স্থাপন:

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

বাণিজ্য বন্ধ

ঠিক আছে, অবশ্যই, এই ডিজাইনের জন্য মূল্য দিতে হবে: প্রাথমিক সেটআপটি জটিল and এবং আপনাকে অনেক সরঞ্জামের ন্যূনতম স্তর বোঝার প্রয়োজন।

এই কারণে, আমি যদি না এমন ধরণের সেট আপ করার প্রস্তাব দিই না

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

আপনি যদি এই পরিস্থিতিতে দুটির মধ্যে নাও থাকেন তবে সম্ভবত দুটির একটির সাথে আপনি সম্ভবত আরও ভাল, তবে উভয়ই নন।

যদি আমাকে একটি বাছাই করতে হয়

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

উত্তর 1

আপনার দলটি (বা কাছের কেউ) ইতিমধ্যে একটি নির্দিষ্ট স্তরের দক্ষতার মধ্যে রয়েছে এমন একটি চয়ন করুন।

উত্তর 2

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

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

আপনারা যারা গিটল্যাব ব্যবহার করছেন এবং নিশ্চিত নন যে তারা এখনও এটি চালিয়ে যাবেন তা এখনও মনে রাখতে হবে, গিটল্যাব সিআই বেছে নেওয়া আপনার সমস্ত সিআই / সিডি পাইপলাইন ট্র্যাশ করতে বোঝায়।

ফাইনাল শব্দ: ভারসাম্য একটি leans সামান্য কারণ তার অনেক প্লাগইনগুলির জেনকিন্স প্রতি বিট, কিন্তু সম্ভাবনা GitLab সি আই দ্রুত শূন্যস্থান পূরণ করবে।


@ পিটার মর্টেনসেন: THX!
avi.elkharrat

6

আমি গিটল্যাব সিআইয়ের সাথে আমার সাম্প্রতিক পরীক্ষা থেকে কিছু অনুসন্ধান যুক্ত করতে চাই। 11.6 এবং 11.7 এর সাথে উপস্থিত বৈশিষ্ট্যগুলি কেবল দুর্দান্ত!

বিশেষত আমি এমন onlyশর্তগুলি পছন্দ করি যা মূলত আপনাকে পৃথক পাইপলাইনগুলি তৈরি করতে দেয় merge_requestবা push(সম্পূর্ণ তালিকাটি এখানে )

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

আপনি যদি ডিআরওয়াই সম্পর্কে ভাবছেন তবে আজকাল এটি একেবারেই সম্ভব! আপনি আপনার "টেম্পলেটগুলি" লিখতে পারেন

.myTemplate:
  image: node:10.14.2
  script:
    - npm install
    - npm run test

এগুলিকে কয়েকটি পাবলিক ভান্ডারে রাখুন, তাদের মূল পাইপলাইনে অন্তর্ভুক্ত করুন:

include:
  - remote: https://....

এবং তাদের কিছু কাজ বাড়ানোর জন্য ব্যবহার করুন:

test:
  extends: .myTemplate
  only:
    refs: ["master"]
    variables:
      - $CI_PIPELINE_SOURCE == "push"

আমি গিটল্যাব সিআইকে এত ভালবাসি! হ্যাঁ, এটি (এখনও অবধি) কভারেজ সহ আরও ভাল গ্রাফগুলি আঁকতে পারে না তবে সামগ্রিকভাবে এটি সত্যিই ঝরঝরে সরঞ্জাম!

সম্পাদনা (2019-02-23): গিটল্যাব সিআই-তে আমার পছন্দের জিনিসগুলি সম্পর্কে আমার পোস্ট এখানে । এটি ১১.7 "যুগে" লেখা হয়েছিল সুতরাং আপনি যখন এই উত্তরটি পড়ছেন, তখন গিটল্যাব সিআইয়ের আরও অনেকগুলি বৈশিষ্ট্য রয়েছে।

সম্পাদনা (2019-07-10): Gitlab সি আই এখন একাধিক সমর্থন extendsযেমন

extends:
 - .pieceA
 - .pieceB

একাধিক প্রসার সম্পর্কে আরও তথ্য পেতে অফিসিয়াল ডকুমেন্টেশন চেক করুন


0

যদি আপনার বিল্ড / প্রকাশ / স্থাপন এবং পরীক্ষার কাজগুলি খুব জটিল না হয় তবে গিটল্যাব সিআই ব্যবহার করার প্রাকৃতিক সুবিধা রয়েছে।

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

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

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

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

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