Setarea unui proxy pentru o singură comandă shell Unix din Jenkins
Suprascrieți mediul proxy pentru o comandă de build din partea agentului fără a modifica controlerul sau etapele necorelate.
Pentru o singură comandă pe un agent Jenkins Unix, puneți atribuirea proxy pe acea comandă:
node('linux') {
sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}Exemplul presupune că depozitul are un script de build și că instrumentele agentului citesc aceste nume de mediu. Atribuirile înlocuiesc valorile moștenite pentru acea comandă și copiii ei. Nu rescriu mediul persistent al mașinii. Pentru un pas de build care aduce artefacte publice printr-o rută permisă fără autentificare proxy, lista de proxy HTTP poate furniza puncte finale HTTP candidate pentru acele valori.
Dacă mai mulți pași Pipeline trebuie să partajeze suprascrierea, utilizați un bloc withEnv în jurul acelor pași. Jenkins documentează că tratarea variabilelor nu face distincție între majuscule și minuscule, dar le păstrează; verificați ortografia rezultată când un instrument Unix cere un anumit nume cu minuscule.
Un export simplu într-un pas sh aparține acelui shell. Un pas shell independent ulterior este un proces nou și nu moștenește modificările vecinului său.
Aplicați setarea acolo unde rulează comanda. Descărcările controlerului Jenkins și un instrument lansat pe un agent la distanță sunt consumatori de rețea separați. O verificare reușită a actualizărilor pe controler nu dovedește ruta comenzii agentului.