11

Jenkins 작업의 사전 빌드 단계에 두 개의 스크립트가 있습니다. 첫 번째 스크립트는 perl 스크립트이고 두 번째 스크립트는 groovy 플러그인을 사용하는 시스템 Groovy 스크립트입니다. 내 두 번째 그루비 스크립트에서 첫 번째 펄 스크립트의 정보가 필요합니다. 최선의 방법은 환경 변수를 설정하는 것이고 이것이 어떻게 실현 될 수 있는지 궁금합니다.Jenkins/Hudson에서 프로그래밍 방식으로 환경 변수를 설정하는 방법은 무엇입니까?

또는 기타 더 좋은 방법입니다.

감사합니다.

+0

이 질문에는 프로젝트 별 환경 변수가 포함되어 있지만 글로벌 환경 변수에 대해서는 [이 답변] (http://stackoverflow.com/a/39004253/2074605)을 참조하십시오. – vallismortis

답변

11

빌드 단계 중 환경 변수를 전달하는 방법은 EnvInject Plugin을 통해 이루어집니다. 여기

그것을 할 방법을 보여 일부 이전 답변입니다 : 귀하의 경우에는

은, 그러나, 그것은 간단 할 수 있습니다 단지에있는 파일에 쓰기 하나의 빌드 단계와 그 파일을 다른 곳에서 읽습니다. 이전 버전의 파일을 실수로 읽지 않으려면 BUILD_ID을 파일 이름에 통합 할 수 있습니다.

2

작업 구성의 EnvInject Plugin을 사용하면 Inject environment variables to the build process/Evaluated Groovy script을 사용해야합니다.

설정에 따라이 Groovy 또는 shell 명령을 실행할 수 있으며,지도 포함하는 환경 변수에 저장 :

을 하나 얻는 명령의 결과에 의해 execute 방법 :

return [DATE: 'date'.execute().text] 

또는 Groovy (존재하는 경우) :

return [DATE: new Date()] 
관련 문제