O proxy do repositório do Maven pertence ao seu settings.xml. Quando um build do Jenkins já é executado dentro de um contêiner Maven, forneça esse arquivo ao processo Maven que roda ali.

Guarde o settings.xml completo pretendido como credencial Jenkins Secret file chamada maven-proxy-settings. Dentro dos passos do estágio de contêiner existente:

withCredentials([
    file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
    sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}

A vinculação fornece um caminho de arquivo temporário. A string Groovy entre aspas simples deixa a expansão de variáveis para o shell, e as aspas duplas do shell preservam o caminho como um único argumento. A opção -s do Maven seleciona esse arquivo como configurações do usuário; -B seleciona o modo em lote.

O arquivo de credencial pode conter o host, a porta, a autenticação e os nonProxyHosts do proxy do build na seção proxies, junto com quaisquer outras configurações de usuário necessárias. Uma lista de desvio de proxy no Maven usa barras verticais entre padrões de host.

O arquivo precisa existir onde o Maven é executado

Com o Docker Pipeline, o agente e o contêiner precisam de um sistema de arquivos montado compatível para que o caminho vinculado seja legível dentro do contêiner de execução. Um docker run iniciado manualmente precisa de uma montagem de arquivo explícita, de preferência somente leitura, e o Maven precisa receber o caminho do lado do contêiner. Passar um caminho do host apenas como variável de ambiente não torna o arquivo disponível.

Mantenha qualquer mudança de diretório de trabalho dentro do bloco de vinculação de credenciais para que o arquivo secreto não fique em um espaço de trabalho de subdiretório navegável. Não imprima o arquivo no log do build nem o copie para uma imagem persistente.

Isto seleciona as configurações do usuário. As configurações globais do Maven também podem participar, então revise as duas se um espelho herdado ou outra configuração continuar afetando a resolução.

Artigos relacionados