Definir un proxy para unha única orde de shell Unix de Jenkins
Substitúe o ambiente de proxy dunha orde de compilación no agente sen cambiar o controlador nin as etapas non relacionadas.
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.