برای یک فرمان روی عامل Jenkins در یونیکس، تخصیص پروکسی را روی همان فرمان بگذارید:

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

مثال فرض می‌کند که مخزن یک اسکریپت ساخت دارد و ابزارهای عامل این نام‌های محیطی را می‌خوانند. تخصیص‌ها مقادیر به‌ارث‌رسیده را برای آن فرمان و فرزندانش جایگزین می‌کنند. آن‌ها محیط پایدار ماشین را بازنویسی نمی‌کنند. برای یک گام ساخت که مصنوعات عمومی را از مسیری مجاز و بدون احراز هویت پروکسی می‌آورد، فهرست پروکسی HTTP می‌تواند نقاط پایانی HTTP نامزد را برای آن مقادیر فراهم کند.

اگر چند گام Pipeline باید این بازنویسی را به اشتراک بگذارند، از یک بلوک withEnv پیرامون آن گام‌ها استفاده کنید. Jenkins مستند می‌کند که مدیریت متغیرهای آن به بزرگی و کوچکی حروف حساس نیست اما آن را حفظ می‌کند؛ وقتی ابزاری در یونیکس نام مشخصی با حروف کوچک می‌خواهد، املای حاصل را بررسی کنید.

یک export ساده در یک گام sh متعلق به همان پوسته است. گام پوسته مستقل بعدی فرآیندی تازه است و تغییرات گام کناری خود را به ارث نمی‌برد.

تنظیم را همان‌جا اعمال کنید که فرمان اجرا می‌شود. دانلودهای کنترلر Jenkins و ابزاری که روی یک عامل راه دور اجرا می‌شود، مصرف‌کننده‌های شبکه جداگانه‌ای هستند. بررسی موفق به‌روزرسانی روی کنترلر مسیر فرمان عامل را اثبات نمی‌کند.

مقالات مرتبط