কীভাবে জেনকিন্স পুনরায় চালু করবেন?


19

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

জেনকিন্সকে নিরাপদ-পুনঃসূচনা করার কোনও দেশীয় উপায় (জিইউআইয়ের মাধ্যমে বা কমান্ড লাইনের মাধ্যমে) রয়েছে কি? আইই: নীচে যাবার আগে বর্তমান কাজ শেষ হওয়ার জন্য অপেক্ষা করুন এবং একবার জেনকিন্স ফিরে আসার জন্য সারিবদ্ধ কাজের সন্ধান করুন।

আমি জানি একটি প্লাগইন আছে তবে এটি ইনস্টল করার জন্য আমাকে জেনকিন্স পুনরায় চালু করতে হবে ...


আমার মাথার শীর্ষ থেকে অনুমান করুন, তবে দাসদের কোনও বিকল্প অক্ষম করবেন না? (যতদূর আমি মনে করি এটি চলমান চাকরিগুলি বন্ধ করে না তবে কাতারে অতিরিক্ত কাজ শুরু করার জন্য
আটকাচ্ছে

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

উত্তর:


14

আপনি যদি নেভিগেট করেন $YOUR_JENKINS_URL/updateCenter/তবে নীচের পৃষ্ঠাটি দেখতে হবে:

এখানে আপনি Restart Jenkins when installation is complete and no jobs are runningযা পরীক্ষা করতে পারেন তা মোটামুটি নিরাপদ হওয়া উচিত।


আমার বোধগম্যতা হল যে পুনরায় চালু কেবল তখনই ঘটে যখন প্লাগইনগুলি ইনস্টল করার প্রক্রিয়াধীন রয়েছে ... প্লাগিনগুলি ইনস্টল না করে পুনরায় চালু করার বাধ্য করার কোনও উপায় নেই, আছে কি?
অ্যালেক্স

1
@ অ্যালেক্স আমি কেবলমাত্র এটি আমার নজরে পরীক্ষা করেছি এবং আমার কাছে মনে হয় এটি প্লাগইন ইনস্টলেশন নির্বিশেষে সর্বদা কাজ করে। স্ট্যাকওভারফ্লো.com/ a/ 8077830 অনুসারে এছাড়াও একটি /safeRestartএবং /restartশেষের পয়েন্ট থাকা উচিত ।
ইয়ালজেক

1
কিন্তু চাকরি চলাকালীন পুনরায় চালু করার প্রশ্নটি নয়?
ড্যান কর্নিলিস্কু

@ ড্যানকর্নিলেস্কু প্রশ্নটিতে বলেছেন:, IE: wait for current jobs to finish before going down, and keep track of queued jobs to start once Jenkins comes back up.আপনি যখন এই বাক্সটি পরীক্ষা করেন ঠিক তেমনই ঘটে।
ইয়ালজেক

আমি যেমন জিজ্ঞাসা করছিলাম যে প্রশ্নটিও বলেছে Jenkins without jobs running in three days- যার মানে কিছুটা কাজ দেরি হওয়ার কারণে প্রভাব পড়বে। তবে তবুও চাকরি হারানোর চেয়ে ভাল।
ড্যান কর্নিলিস্কু

15

Https: // youjenkinsdomain / SafeRestart পরিদর্শন করা যখন চাকরিগুলি থামার অপেক্ষা করে এবং পুনরায় আরম্ভ হবে তখন মোডে এটি সেট করবে।


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

8

হয় আপনি জেনকিন্স REST API (ব্যবহার safeRestart কমান্ড নির্বাহ করতে পারেন [jenkins_url] / safeRestart ) অথবা আপনি মাধ্যমে কমান্ড নির্বাহ করতে পারেন জেনকিন্স CLI

sudo /etc/init.d/jenkins safeRestart

একটি সি এল এল কমান্ড চালাচ্ছি

সাধারণ বাক্য গঠনটি নিম্নরূপ: (নকশাটি এসএনএন / গিটের মতো সরঞ্জামগুলির অনুরূপ):

java -jar jenkins-cli.jar [-s JENKINS_URL] কমান্ড [বিকল্পগুলি ...] [যুক্তি ...]

JENKINS_URL এনভায়রনমেন্ট ভেরিয়েবল $ JENKINS_URL এর মাধ্যমে নির্দিষ্ট করা যেতে পারে। এই পরিবেশ পরিবর্তনশীলটি স্বয়ংক্রিয়ভাবে সেট হয়ে যায় যখন জেনকিনস বিল্ডগুলির সময় কোনও প্রক্রিয়া তৈরি করে, যা আপনাকে ইউআরএলটি স্পষ্টভাবে কনফিগার না করে জেনকিনস সিএলআই ব্যবহারের অনুমতি দেয় from

দ্রষ্টব্য: SafeRestart কমান্ডটি চালানোর সময়, সার্ভারটি আবার অনলাইনে ফিরে আসার পরে পুনরায় চালু করার সময় নির্বাহ করা হবে এমন কোনও কাজ সারিবদ্ধভাবে কার্যকর করা হবে। এটি পুনরায় বুট করার পরে কোনও বিবাদ সৃষ্টি না করে তা নিশ্চিত করুন!


1

আমি মনে করি এটি একটি আসল সমস্যা যা সমাধান করার চেষ্টা করছেন অনেকে। কিছু সময় রয়েছে যখন প্লাগইন ইনস্টল করার পরে জেনকিন্স পুনরায় চালু করা ভাল। আমার অভিজ্ঞতার ভিত্তিতে আমি যে পরামর্শগুলি দিতে পারি তা হ'ল:

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

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


1

জেনকিনসকে ম্যানুয়ালি পুনরায় চালু করতে, আপনি নিম্নলিখিত কমান্ডগুলির মধ্যে একটি (ব্রাউজারে তাদের URL প্রবেশ করে) ব্যবহার করতে পারেন:

(jenkins_url)/safeRestart- সমস্ত চলমান কাজ সম্পূর্ণ করার অনুমতি দেয়। পুনঃসূচনা সম্পন্ন হওয়ার পরে নতুন চাকরিগুলি কাতারে থাকবে।

(jenkins_url)/restart - বিল্ডগুলি সম্পূর্ণ হওয়ার জন্য অপেক্ষা না করে পুনরায় চালু করতে বাধ্য করে।


0

" Https: // jenkins / SafeRestart " এ গিয়ে পাইপলাইন চাকরির ক্ষেত্রে "কাজ / বিল্ডস" সম্পূর্ণরূপে শেষ হওয়ার অপেক্ষা করে না।

জেনকিন্স পুনরায় আরম্ভ এবং জিনকিনস আবার আসার পরে পাইপলাইন পুনরায় চালু করার পদক্ষেপগুলির জন্য অপেক্ষা করা হয়।


1
আমি অনুমান করি এটি @ নাকিলনের উত্তরের মন্তব্য হিসাবে বোঝানো হয়েছে?
হেজেলো

0

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

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

এর পরে, আমরা এখনই নিরাপদে পুনরায় আরম্ভ করি।

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