Een proxy instellen voor één Jenkins Unix-shellopdracht
Overschrijf de proxy-omgeving voor één buildopdracht aan de agentzijde zonder de controller of niet-gerelateerde fasen te wijzigen.
Voor één opdracht op een Unix-Jenkins-agent, zet de proxy-toewijzing op die opdracht:
node('linux') {
sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}Het voorbeeld gaat ervan uit dat de repository een buildscript heeft en dat de tools van de agent deze omgevingsnamen lezen. De toewijzingen vervangen geërfde waarden voor die opdracht en zijn kinderen. Ze herschrijven de blijvende omgeving van de machine niet. Voor een buildstap die openbare artefacten via een toegestane route zonder proxy-authenticatie ophaalt, kan de HTTP-proxylijst kandidaat-HTTP-eindpunten voor die waarden leveren.
Als meerdere Pipeline-stappen de overschrijving moeten delen, gebruik dan een withEnv-blok rond die stappen. Jenkins documenteert dat de variabelebehandeling geen onderscheid maakt tussen hoofd- en kleine letters, maar ze wel bewaart; controleer de resulterende spelling wanneer een Unix-tool een specifieke naam met kleine letters vereist.
Een gewone export in één sh-stap hoort bij die shell. Een latere zelfstandige shell-stap is een nieuw proces en erft de wijzigingen van zijn buurman niet.
Pas de instelling toe waar de opdracht draait. Downloads van de Jenkins-controller en een tool die op een externe agent is gestart, zijn afzonderlijke netwerkgebruikers. Een geslaagde updatecontrole op de controller bewijst de route van de agentopdracht niet.