জেনকিন্সকে নির্দিষ্ট দাস নোডে একটি নির্দিষ্ট প্রকল্প পরিচালনা করতে বলুন


87

আমি জেনকিন্সকে কীভাবে একটি নির্দিষ্ট দাসের উপর একটি নির্দিষ্ট প্রকল্প পরিচালনা করতে বলব?

আমি একটি জেনকিন্স মাস্টার নোড এবং একটি স্লেভ নোড সেট করেছি যা আমি অ্যাপ্লিকেশন মঞ্চ করার জন্য ব্যবহার করতে চাই। তবে আমি যে স্লভ নোডটি তৈরি করেছি তাতে কীভাবে প্রজেক্টটি কনফিগার করা যায় তা আমি বুঝতে পারি না।


উত্তর:


84

আপনার কাজের কনফিগারেশনে "এই কাজটি চালানো যেতে পারে সেখানে সীমাবদ্ধ করুন" চেক বক্সটি সেট করুন এবং আপনার দাসের নাম উল্লেখ করুন।

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

এই রেফারেন্স ডকুমেন্টেশন দেখুন:


ধন্যবাদ। আপনার উত্তরটি খুঁজে পাওয়ার আগে আমি বেশ কিছুক্ষণ ব্যবহার করেছি। এটি এই পৃষ্ঠায় যুক্ত করা উচিত wiki.jenkins-ci.org/display/ জেনকিনস
বিতরণ +

16

আপনি যদি পাইপলাইনের কাজ চালাচ্ছেন তবে আপনি প্রথমে স্লেভ নোডে লেবেল যুক্ত করতে (যেমন 'ক্রীতদাস') যুক্ত করতে চান (বা এজেন্ট হিসাবে এখনই এটি বলে মনে হচ্ছে)।

তারপরে, পাইপলাইন স্ক্রিপ্টে, আপনি যে লেবেলটি কাজ চলছে তা নির্দিষ্ট করে:

ঘোষিত পাইপলাইন:

pipeline {
    agent {label 'slave'}
    stages {
        ...
    }
}

লিখিত পাইপলাইন:

node (label: 'slave') {
    ...
}

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

হালনাগাদ:

স্ক্রিপ্টযুক্ত পাইপলাইনে, যদি আপনার নোডটির নাম "আমার নোড" রাখা হয়, আপনি এটিও করতে পারেন:

node ('My Node') {
    ...
}

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


এটি খুঁজে পাওয়া খুব কঠিন ছিল, স্ক্রিপ্টযুক্ত সিনট্যাক্সের জন্য ডকুমেন্টেশন ঘোষণার পক্ষে মরে যাচ্ছে, আমি এখনও মাইগ্রেট করতে পারি না তাই আপনাকে ধন্যবাদ!
মিচেল কারি

7

আপনি যদি প্যামিটার হিসাবে নোড / লেবেল ব্যবহার করতে চান তবে নোডেলবেল প্যারামিটার প্লাগইন ইনস্টল করুন


মনে রাখবেন যে যদি কোনও কাজের জন্য "নোড" প্যারামিটারটি চয়ন করেন এবং আপনি গ্রোভির কাছ থেকে কল করতে চান তবে আপনাকে একটি বিশেষ প্যারামিটার তৈরি করতে হবে: params += new org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterValue('testServer', testServerLabel);(স্বাভাবিকের পরিবর্তে StringParameterValue)।
নক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.