Il proxy del repository Maven appartiene al suo settings.xml. Quando una build Jenkins è già in esecuzione in un container Maven, fornisci quel file al processo Maven che vi opera.

Salva il settings.xml completo previsto come credenziale Jenkins Secret file denominata maven-proxy-settings. All'interno dei passi dello stage del container esistente:

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

Il binding fornisce un percorso di file temporaneo. La stringa Groovy tra apici singoli lascia l'espansione delle variabili alla shell, e le virgolette doppie della shell conservano il percorso come un solo argomento. L'opzione -s di Maven seleziona quel file come impostazioni utente; -B seleziona la modalità batch.

Il file delle credenziali può contenere l'host, la porta, l'autenticazione e i nonProxyHosts del proxy della build nella sua sezione proxies, insieme a qualsiasi altra impostazione utente necessaria. Un elenco di esclusione del proxy in Maven usa barre verticali tra i pattern degli host.

Il file deve esistere dove viene eseguito Maven

Con Docker Pipeline, l'agente e il container necessitano di un filesystem montato compatibile affinché il percorso associato sia leggibile nel container di esecuzione. Un docker run avviato manualmente richiede un mount esplicito del file, preferibilmente in sola lettura, e Maven deve ricevere il percorso lato container. Passare un percorso dell'host solo come variabile d'ambiente non rende disponibile il file.

Mantieni ogni cambiamento della directory di lavoro all'interno del blocco di binding delle credenziali, così il file segreto non finisce in un workspace di sottodirectory esplorabile. Non stampare il file nel log della build e non copiarlo in un'immagine persistente.

Questo seleziona le impostazioni utente. Anche le impostazioni globali di Maven possono partecipare, quindi controlla entrambe se uno specchio ereditato o un'altra configurazione continua a influire sulla risoluzione.

Articoli correlati