জেনকিন্স বিল্ড নম্বর পরিবর্তন করা হচ্ছে


142

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

set BUILD_NUMBER=45

তবে ইমেলটি এখনও জেনকিন্স মূলত নির্ধারিত বিল্ড নম্বরটি দেখিয়ে দিচ্ছে।

উত্তর:


259

যদি আপনার স্ক্রিপ্ট কনসোলটিতে অ্যাক্সেস থাকে (জেনকিনস পরিচালনা করুন -> স্ক্রিপ্ট কনসোল), তবে আপনি নিম্নলিখিতটি করতে পারেন:

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)

7
আমি সমস্যাটি সমাধানের জন্য এটি পুরোপুরি কাজ করে যাচাই করতে পারি। আমি নিজে দুটি জেনকিন সার্ভারের মধ্যে বিল্ড হিস্ট্রি অনুলিপি করেছিলাম এবং নতুন সার্ভারে নেক্সট বিল্ডবার্ব ভুল ছিল umber এটি চালানো আমাকে সঠিক নতুন নেক্সট বিল্ডবার্বার সেট করতে দেয়, জেনকিনস কনফিগারেশন পুনরায় লোডের প্রয়োজন হয় না।
ফিল হলেনব্যাক 24'16

5
আপনি যদি গিটহাব প্লাগইন ব্যবহার করছেন তবে "YourJobName"তা "organization/repository/branchname"
রুদ

15
কাজ করে। বিল্ডিং ব্যবহার না করেই মানটি যাচাই করা যেতে পারে:Jenkins.instance.getItemByFullName("YourJobName").getNextBuildNumber()
ড্যানিয়েল অ্যাল্ডার

7
আমি এটি নিশ্চিত করতে পারি যে এটি মাল্টিব্রাঞ্চ-পাইপলাইনগুলির জন্যও কাজ করছে। "জবনেম" শাখা পৃষ্ঠার শীর্ষে তালিকাভুক্ত: পুরো প্রকল্পের নাম: PipelineName/BranchNameতাই এটি হবেJenkins.instance.getItemByFullName("YourPipelineName/YourBranchName").updateNextBuildNumber(45)
মার্কাস


37

প্লাগইনটি দিয়ে করা যেতে পারে: https://wiki.jenkins-ci.org/display/JENKINS/Next+ বিল্ড+ নম্বর + প্লাগইন

আরও তথ্য: http://www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html

আপনি যদি প্লাগইনটি পছন্দ না করেন:

আপনি যদি নেক্সট বিল্ডবার্বার ফাইলের মাধ্যমে বিল্ড নম্বর পরিবর্তন করতে চান আপনার "ডিস্ক থেকে কনফিগারেশন পুনরায় লোড করুন" "জেনকিনস পরিচালনা করুন" পৃষ্ঠা থেকে নেওয়া উচিত।


2
প্লাগইন ব্যবহার করার দরকার নেই।
ডেভিড.পিরেজ

1
ধন্যবাদ, আপনি আমার দিন বাঁচান
ইউকিয়ো ফুকুজাওয়া

29

জব ওয়ার্কস্পেস ফোল্ডারের নীচে যেমন:

C:\Program Files (x86)\Jenkins\jobs\job_name

নামক একটি ফাইল আছে nextBuildNumber

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


9
নেক্সট বিল্ডবারবার ফাইলটি পরিবর্তন করার পরে আপনি কি ডিস্ক থেকে কনফিগারেশনটি পুনরায় লোড করেছেন (জেনকিনস মেনু পরিচালনা করুন)?
ভেজেনকভ

নাঃ! আমি ভেবেছিলাম এটি স্বয়ংক্রিয়ভাবে ঘটেছে।
hfossli

এটি আমার জন্য পুরোপুরি কাজ করেন। সার্ভারটি প্রভাবিত হওয়ার আগে আপনাকে পুনরায় বুট করতে হবে।
হককি 64

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

8

আপনার যদি ফরওয়ার্ড স্ল্যাশ ( উদাহরণস্বরূপ গিট ফ্লো ব্যবহার করে ) সহ শাখার নাম থাকে তবে আপনাকে শাখার নামের মধ্যে ইউনিকোড অক্ষর % 2F দিয়ে ফরোয়ার্ড স্ল্যাশ প্রতিস্থাপন করতে হবে ।

পাইপলাইন মাই-পাইপলাইন-নাম এবং শাখা রিলিজ / আমার-প্রকাশ-শাখা-নামের জন্য এখানে উদাহরণ

Jenkins.instance.getItemByFullName("My-Pipeline-Name/release%2Fmy-release-branch-name").updateNextBuildNumber(BUILD_NUMBER)

আমি নিম্নলিখিত কমান্ডটি চালিয়ে এটি সম্পর্কে জানতে সক্ষম হয়েছি যা আপনার পাইপলাইনের জন্য বিভিন্ন কাজ (শাখা) তালিকাভুক্ত করবে

Jenkins.instance.getItem("My-Pipeline-Name").getAllJobs()

আশা করি এটা সাহায্য করবে.


5

সম্ভবত এই প্লাগইনগুলির সংমিশ্রণটি কাজে আসতে পারে:


অনেক অনেক ধন্যবাদ - আমি একটি প্লাগইন ব্যবহার করতে সক্ষম হয়েছি।
erman8

1

আপনি জেনকিন্স সার্ভারে $ {জেনকিনসহোম} / জবস / জব_নাম / নেক্সট বিল্ডবার্বার ফাইল আপডেট করে বিল্ড নম্বর পরিবর্তন করতে পারেন।

আপনি সিএলআই বা ইউআই ব্যবহার করে বিল্ড নম্বর পরিবর্তন করতে নেক্সট বিল্ড নম্বর প্লাগইনও ইনস্টল করতে পারেন


নোট করুন যে পরবর্তী বিল্ডবার্বার ফাইলটি নিজেই বিল্ড নম্বর পরিবর্তন করা যথেষ্ট নয়, "জেনকিনস পরিচালনা করুন" মেনুতে "ডিস্ক থেকে পুনরায় লোড কনফিগারেশন" চালানোও প্রয়োজনীয়।
ফলস্টাফ

-4

পরিবেশগত ভেরিয়েবল ব্যবহার করে:

$BUILD_NUMBER =4

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