Para um único comando num agente Jenkins Unix, coloque a atribuição do proxy nesse comando:

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

O exemplo pressupõe que o repositório tem um script de build e que as ferramentas do agente leem estes nomes de ambiente. As atribuições substituem os valores herdados para esse comando e os seus filhos. Não reescrevem o ambiente persistente da máquina. Para um passo de build que obtém artefactos públicos por uma rota permitida sem autenticação de proxy, a lista de proxies HTTP pode fornecer pontos finais HTTP candidatos para esses valores.

Se vários passos de Pipeline devem partilhar a substituição, use um bloco withEnv à volta desses passos. O Jenkins documenta que o tratamento de variáveis não distingue maiúsculas de minúsculas, mas preserva-as; verifique a grafia resultante quando uma ferramenta Unix exige um nome específico em minúsculas.

Um export simples num passo sh pertence a essa shell. Um passo de shell independente posterior é um novo processo e não herda as alterações do seu vizinho.

Aplique a definição onde o comando é executado. As transferências do controlador Jenkins e uma ferramenta lançada num agente remoto são consumidores de rede distintos. Uma verificação de atualização bem-sucedida no controlador não estabelece a rota do comando do agente.

Artigos relacionados