من أجل أمر واحد على عامل Jenkins يعمل بـ Unix، ضع إسناد الوكيل على ذلك الأمر:

node('linux') {
    sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}

يفترض المثال أن المستودع يحتوي على سكربت بناء وأن أدوات العامل تقرأ أسماء البيئة هذه. تستبدل الإسنادات القيم الموروثة لذلك الأمر وأبنائه. وهي لا تعيد كتابة بيئة الجهاز الدائمة. لخطوة بناء تجلب عناصر عامة عبر مسار مسموح دون مصادقة وكيل، يمكن أن توفر قائمة وكلاء HTTP نقاط نهاية HTTP مرشحة لتلك القيم.

إذا كان ينبغي لعدة خطوات Pipeline أن تتشارك التجاوز، فاستخدم كتلة withEnv حول تلك الخطوات. توثق Jenkins أن معالجتها للمتغيرات غير حساسة لحالة الأحرف لكنها تحافظ عليها؛ تحقق من التهجئة الناتجة عندما تتطلب أداة Unix اسمًا معينًا بأحرف صغيرة.

يبقى export العادي داخل خطوة sh واحدة ملكًا لذلك الغلاف. وخطوة الغلاف المستقلة اللاحقة عملية جديدة ولا ترث التغييرات التي أجراها شقيقها.

طبّق الإعداد حيث يعمل الأمر. فتنزيلات متحكم Jenkins والأداة التي تُطلق على عامل بعيد مستهلكان مختلفان للشبكة. وفحص التحديث الناجح على المتحكم لا يثبت مسار أمر العامل.

مقالات ذات صلة