Per un singolo comando su un agente Jenkins Unix, metti l'assegnazione del proxy su quel comando:

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

L'esempio presuppone che il repository abbia uno script di build e che gli strumenti dell'agente leggano questi nomi di ambiente. Le assegnazioni sostituiscono i valori ereditati per quel comando e i suoi figli. Non riscrivono l'ambiente persistente della macchina. Per un passo di build che scarica artefatti pubblici su un percorso consentito senza autenticazione proxy, l'elenco di proxy HTTP può fornire endpoint HTTP candidati per quei valori.

Se più fasi Pipeline devono condividere la sostituzione, usa un blocco withEnv attorno a quelle fasi. Jenkins documenta che la gestione delle variabili non distingue maiuscole e minuscole ma le conserva; controlla la grafia risultante quando uno strumento Unix richiede un nome specifico in minuscolo.

Un export semplice in un passo sh appartiene a quella shell. Un passo shell indipendente successivo è un nuovo processo e non eredita le modifiche del suo vicino.

Applica l'impostazione dove viene eseguito il comando. I download del controller Jenkins e uno strumento avviato su un agente remoto sono consumatori di rete distinti. Un controllo aggiornamenti riuscito sul controller non dimostra il percorso del comando dell'agente.

Articoli correlati