Para unha única orde nun agente de Jenkins con Unix, pon a asignación do proxy nesa orde:

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

O exemplo supón que o repositorio ten un script de compilación e que as ferramentas do agente len estes nomes de ambiente. As asignacións substitúen os valores herdados para esa orde e os seus fillos. Non reescriben o ambiente persistente da máquina. Para un paso de compilación que descarga artefactos públicos por unha ruta permitida sen autenticación de proxy, a lista de proxies HTTP pode fornecer puntos de conexión HTTP candidatos para eses valores.

Se varios pasos de Pipeline deben compartir a substitución, use un bloque withEnv arredor deses pasos. Jenkins documenta que o seu tratamento de variables non distingue maiúsculas de minúsculas, pero consérvaas; comprobe a ortografía resultante cando unha ferramenta Unix esixe un nome concreto en minúsculas.

Un export simple nun paso sh pertence a ese shell. Un paso de shell independente posterior é un proceso novo e non herda os cambios do seu veciño.

Aplique o axuste onde se executa a orde. As descargas do controlador de Jenkins e unha ferramenta lanzada nun agente remoto son consumidores de rede distintos. Unha comprobación de actualización correcta no controlador non demostra a ruta da orde do agente.

Artigos relacionados