Einen Proxy für einen einzelnen Jenkins-Unix-Shell-Befehl setzen
Überschreiben Sie die Proxy-Umgebung für einen Build-Befehl auf der Agent-Seite, ohne den Controller oder unbeteiligte Phasen zu ändern.
Für einen Befehl auf einem Unix-Jenkins-Agenten setzen Sie die Proxy-Zuweisung auf diesen Befehl:
node('linux') {
sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}Das Beispiel setzt voraus, dass das Repository ein Build-Skript enthält und die Werkzeuge des Agenten diese Umgebungsnamen lesen. Die Zuweisungen ersetzen geerbte Werte für diesen Befehl und seine Kindprozesse. Sie schreiben die dauerhafte Umgebung der Maschine nicht um. Für einen Build-Schritt, der öffentliche Artefakte über eine erlaubte Route ohne Proxy-Authentifizierung abruft, kann die HTTP-Proxy-Liste geeignete HTTP-Endpunkte für diese Werte liefern.
Wenn mehrere Pipeline-Schritte die Überschreibung teilen sollen, verwenden Sie einen withEnv-Block um diese Schritte. Jenkins dokumentiert, dass seine Variablenbehandlung die Groß- und Kleinschreibung nicht unterscheidet, sie aber beibehält; prüfen Sie die resultierende Schreibweise, wenn ein Unix-Werkzeug einen bestimmten Namen in Kleinbuchstaben verlangt.
Ein einfaches export in einem sh-Schritt gehört zu dieser Shell. Ein späterer eigenständiger Shell-Schritt ist ein neuer Prozess und erbt keine Änderungen seines Nachbarn.
Wenden Sie die Einstellung dort an, wo der Befehl läuft. Downloads des Jenkins-Controllers und ein auf einem entfernten Agenten gestartetes Werkzeug sind getrennte Netzwerkteilnehmer. Eine erfolgreiche Aktualisierungsprüfung auf dem Controller belegt nicht die Route des Agent-Befehls.