Jenkins Unix 셸 명령 하나에 프록시 설정하기
컨트롤러나 관련 없는 단계를 바꾸지 않고 에이전트 측 빌드 명령 하나의 프록시 환경을 재정의합니다.
Unix Jenkins 에이전트에서 명령 하나에 대해서는 그 명령에 프록시 할당을 두십시오:
node('linux') {
sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}이 예제는 저장소에 빌드 스크립트가 있고 에이전트의 도구가 이 환경 변수 이름을 읽는다고 가정합니다. 할당은 그 명령과 그 자식 프로세스에 대해 상속된 값을 대체합니다. 머신의 영구 환경을 다시 쓰지는 않습니다. 프록시 인증 없이 허용된 경로로 공개 아티팩트를 가져오는 빌드 단계라면 HTTP 프록시 목록이 그 값에 쓸 후보 HTTP 엔드포인트를 제공할 수 있습니다.
여러 Pipeline 단계가 이 재정의를 공유해야 한다면 그 단계들을 withEnv 블록으로 감싸십시오. Jenkins는 변수 처리가 대소문자를 구분하지 않지만 표기는 보존한다고 문서화합니다. Unix 도구가 특정 소문자 이름을 요구할 때 결과 표기를 확인하십시오.
단순한 export 은 sh 단계 하나에 속합니다. 나중의 독립적인 셸 단계는 새 프로세스이며 이웃 단계가 만든 변경을 상속하지 않습니다.
설정은 명령이 실행되는 곳에 적용하십시오. Jenkins 컨트롤러의 다운로드와 원격 에이전트에서 실행한 도구는 별개의 네트워크 사용자입니다. 컨트롤러에서 업데이트 확인이 성공해도 에이전트 명령의 경로가 증명되지는 않습니다.