Jenkins کے ایک Unix shell کمانڈ کے لیے پراکسی مقرر کرنا
کنٹرولر یا غیر متعلقہ مراحل کو بدلے بغیر ایجنٹ کی طرف کی ایک build کمانڈ کے لیے پراکسی ماحول کو اوور رائیڈ کریں۔
Unix Jenkins ایجنٹ پر ایک کمانڈ کے لیے، پراکسی کی تفویض اسی کمانڈ پر رکھیں:
node('linux') {
sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}مثال یہ فرض کرتی ہے کہ ریپوزٹری میں build اسکرپٹ ہے اور ایجنٹ کے اوزار یہ ماحولیاتی نام پڑھتے ہیں۔ تفویضات اس کمانڈ اور اس کے بچوں کے لیے وراثتی اقدار بدل دیتی ہیں۔ وہ مشین کے مستقل ماحول کو دوبارہ نہیں لکھتیں۔ پراکسی توثیق کے بغیر اجازت شدہ راستے سے عوامی آرٹیفیکٹ لانے والے build مرحلے کے لیے، HTTP پراکسی فہرست ان اقدار کے لیے امیدوار HTTP اینڈ پوائنٹس فراہم کر سکتی ہے۔
اگر کئی Pipeline مراحل کو یہ اوور رائیڈ شیئر کرنا ہو، تو ان مراحل کے گرد withEnv بلاک استعمال کریں۔ Jenkins دستاویز کرتا ہے کہ اس کی متغیرات کی Handling casing کو نہیں بدلتی مگر اسے محفوظ رکھتی ہے؛ جب Unix اوزار کو کوئی مخصوص چھوٹے حروف والا نام درکار ہو تو نتیجے کی ہجے جانچیں۔
سادہ export ایک sh مرحلے میں اسی shell کا ہوتا ہے۔ بعد کا خودمختار shell مرحلہ نیا عمل ہے اور اپنے ہمسائے کی تبدیلیاں ورثے میں نہیں لیتا۔
ترتیب وہیں لاگو کریں جہاں کمانڈ چلتی ہے۔ Jenkins کنٹرولر کی ڈاؤن لوڈز اور دور دراز ایجنٹ پر شروع کیا گیا اوزار الگ نیٹ ورک صارفین ہیں۔ کنٹرولر پر کامیاب اپ ڈیٹ جانچ ایجنٹ کمانڈ کے راستے کو ثابت نہیں کرتی۔