2014-02-17 2 views
1

Jenkins는 환경 변수 $ JENKINS_HOME을 두 가지 목적으로 사용하고 있으며 각 용도에 따라 다른 값을 얻는 것으로 보입니다.2 개의 충돌하는 목적을 위해 JENKINS_HOME 환경 변수가 사용되었습니다.

목적 # 1 : 먼저 Jenkins가 생성 한 파일을 저장하는 로컬 파일 시스템의 디렉토리 인 JENKINS_HOME이 있습니다. 젠킨스는 디스크 공간을 위해이 디렉토리를 사용하여 빌드를 수행하고 아카이브를 보관합니다. 그래서 샘플 값이 될 수 있습니다

export JENKINS_HOME=/var/jenkins 

을 그 목적이 여기에 설명되어 있습니다 :

목적 # 2 : 은 젠킨스가 사용 다른 인스턴스가 JENKINS_HOME 환경 변수이며 외부 작업을 모니터링하기위한 것입니다. 그러나 이번에는 JENKINS_HOME은처럼 URL입니다 :

export JENKINS_HOME=http://user:[email protected]/path/to/jenkins/ 

그 목적이 여기에 설명되어 있습니다 :

은 그래서 젠킨스가 같은 환경 변수를 사용하는 것이 이상한 것 같다, 그러나 그 가치는 목적에 따라 변할 것입니다. 외부 작업이 JENKINS_URL과 같은 환경 변수에 다른 이름을 사용한다고 생각합니다. 임시 해결 방법으로 운영체제 대신 서블릿 컨테이너 (Tomcat for me)에 환경 변수를 설정할 수 있으므로 충돌이 발생하지 않습니다. 그럼에도 불구하고 변수에 대한 이러한 충돌이 처음에는 존재한다는 사실은 이상하게 보입니다. 내가 빠진 것이 있습니까?

답변

1

꽤 혼란 스럽지만 두 번째 목적은 Jenkins 자체가 아닌 외부 프로세스에서 Jenkins 작업을 모니터링하는 것입니다. 이 경우 JENKINS_HOME 값을 사용하는 Jenkins가 아니기 때문에 충돌이 발생하지 않습니다. 그들은 변수에 대한 더 나은 이름을 고를 수있었습니다.

기타 대부분의 경우 Jenkins 마스터 URL은 JENKINS_URL로 표시됩니다 (예 : Jenkins CLI documentation 참조).

관련 문제