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 өзүнүн өзгөрмөлөр менен иштөөсү регистрге сезимтал эмес, бирок аны сактай турганын документтейт; Unix куралы белгилүү бир кичине тамгалуу атты талап кылса, алынган жазылышты текшериңиз.
Жөнөкөй export бир sh кадамында ошол shell-ге таандык. Кийинки көз карандысыз shell кадамы жаңы процесс жана коңшусунун өзгөртүүлөрүн мурастабайт.
Жөндөөнү буйрук аткарылган жерде колдонуңуз. Jenkins контроллеринин жүктөөлөрү жана алыскы агентте иштетилген курал өзүнчө тармактык керектөөчүлөр. Контроллерде ийгиликтүү жаңыртуу текшерүүсү агент буйругунун маршрутун далилдебейт.