Maven의 저장소 프록시는 settings.xml에 속합니다. Jenkins 빌드가 이미 Maven 컨테이너 안에서 실행 중이라면, 그 파일을 그곳에서 실행되는 Maven 프로세스에 제공하십시오.

의도한 settings.xml 전체를 maven-proxy-settings라는 이름의 Jenkins Secret file 자격 증명으로 저장합니다. 기존 컨테이너 스테이지의 단계 안에서:

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

바인딩은 임시 파일 경로를 제공합니다. 작은따옴표 Groovy 문자열은 변수 확장을 셸에 맡기고, 셸의 큰따옴표는 경로를 하나의 인수로 유지합니다. Maven의 -s 옵션은 그 파일을 사용자 설정으로 선택하고, -B는 배치 모드를 선택합니다.

자격 증명 파일은 proxies 섹션에 빌드의 프록시 호스트, 포트, 인증 및 nonProxyHosts를 다른 필수 사용자 설정과 함께 담을 수 있습니다. Maven의 프록시 우회 목록은 세로 막대를 호스트 패턴 사이에 사용합니다.

파일은 Maven이 실행되는 곳에 있어야 합니다

Docker Pipeline에서는 에이전트와 컨테이너에 호환되는 마운트된 파일 시스템이 필요해 바인딩된 경로를 실행 컨테이너 안에서 읽을 수 있어야 합니다. 수동으로 시작한 docker run은 명시적 파일 마운트가 필요하며 가능하면 읽기 전용이어야 하고, Maven은 컨테이너 측 경로를 받아야 합니다. 호스트 경로를 환경 변수로만 전달하는 것으로는 파일을 사용할 수 없습니다.

작업 디렉터리 변경은 자격 증명 바인딩 블록 안에 두어 시크릿 파일이 탐색 가능한 하위 디렉터리 작업 공간에 놓이지 않게 하십시오. 파일을 빌드 로그에 출력하거나 영구 이미지에 복사하지 마십시오.

이는 사용자 설정을 선택합니다. Maven의 전역 설정도 함께 작용할 수 있으므로 상속된 미러나 다른 구성이 계속 해석에 영향을 준다면 둘 다 검토하십시오.

관련 글