2013-10-04 4 views
15

Jenkins 매개 변수는 대소 문자를 구분합니까? 빌드하기 전에 설정해야하는 "build_parameter"라는 개미 매개 변수가 필요한 매개 변수화 된 빌드가 있습니다. Jenkins가 설정 한 $ {BUILD_NUMBER}에 액세스하려고하면 ant 매개 변수에 설정된 값을 얻게됩니다. 빌드 매개 변수가 대소 문자를 구분하지 않으면 누구든지이 문제에 대한 해결 방법을 제안 할 수 있습니까? 빌드 스크립트 (옵션이 아님)를 변경해야하므로 빌드 매개 변수 이름을 변경할 수 없습니다. 감사!Jenkins - BUILD_NUMBER 환경 변수에 액세스하는 방법

+0

이 https://issues.jenkins-ci.org/browse/JENKINS-1322 –

+0

ADARSH를 참조하십시오 eter 및 환경 변수 $ {BUILD_NUMBER}의 값이 다릅니다. 명확하지 않은 것에 대해 유감스럽게 생각합니다. Jenkins $ {BUILD_NUMBER} 값에 액세스하는 방법이 필요합니다. 그러나 환경 변수 ($ {BUILD_NUMBER})와 같은 방식으로 액세스하려고하면 다른 값을 출력합니다. – Anand

+0

내 조사 BUILD_NUMBER에 따르면 현재 빌드 번호를 알려줍니다. 따라서 빌드 스크립트를 변경해야합니다. 또는 새로운 변수를 생성하고 BUILD_NUMBER 값을 할당하여 사용하십시오. –

답변

15

첫 번째 질문에 대답하기 위해 Jenkins 변수는 대소 문자를 구분합니다. 그러나 Windows 배치 스크립트를 작성하는 경우 Windows에서는 대소 문자를 구분하지 않으므로 대/소문자를 구분하지 않습니다.

설정이 명확하지 않으므로 개미 작업 단계를 사용하여 개미 작업을 시작한다고 가정 해 봅시다. Jenkins 변수를 개미 작업에 사용 가능하게 만드는 방법에 대한 예제는 the Jenkins documentation (Adarsh가 준 페이지와 동일하지만 다른 장)을보십시오.

편집 :

따라서, 나는 URL을 구성하는 환경 변수 $ {BUILD_NUMBER}에 액세스해야합니다.

$BUILD_URL을 사용하지 않습니까? 확장 이메일 플러그인에서 사용할 수 있습니까? 나는 귀하의 질문에 올바르게 설정을 이해하고 가정

+0

Peter : Sagar의 답변은 위의 내용을 참조하십시오. 환경 변수 $ {BUILD_NUMBER}의 값을 가져와야하지만 다른 매개 변수 (소문자 매개 변수)로 덮어 쓰고 있다고 가정합니다. Mac OS를 사용 중이고 bash 스크립트에서이 매개 변수를 사용하지 않습니다. 내가하려는 것은 확장 된 전자 메일 알림 전자 메일 콘텐츠에서 사용하는 것뿐입니다. – Anand

+0

Peter : 귀하의 제안에 감사드립니다. 제안한 후에 ​​$ {BUILD_URL}을 (를) 사용해 보았습니다. 빌드 페이지로 이동합니다. 이메일의 링크에서 바로 이슈의 다운로드를 시작할 수 있도록 이슈를 직접 가리키는 방법이 있습니까? – Anand

+3

It $ {BUILD_URL}/이슈/

5

당신이 당신의 스크립트에서 빌드 번호를 사용하려는 경우, 당신은 옵션이 있습니다

1)를 호출 개미, 사용 : ant -Dbuild_parameter=${BUILD_NUMBER}

2)되도록 스크립트를 변경 : 내 build_param :

<property environment="env" /> 
<property name="build_parameter" value="${env.BUILD_NUMBER}"/> 
+0

Sagar : 매개 변수화 된 빌드 옵션을 사용하여 사용자가 build_number 매개 변수를 입력하도록하고 (참고 : lower_case에 있음) 내 ant 스크립트에서 사용합니다. 그러나 이슈 위치를 URL로 이메일을 보내야합니다. 따라서 환경 변수 $ {BUILD_NUMBER}에 액세스하여 URL을 구성해야합니다. 이제 사용자가 $ {build_number} 매개 변수를 입력하고 환경 변수 $ {BUILD_NUMBER}이 (가) 다릅니다. 그러나 URL에 $ {BUILD_NUMBER}을 (를) 추가하면 $ {build_number}에 저장된 값을 항상 차지합니다. – Anand

+0

아 좋아. 이 경우, 매개 변수 목록에서 "build_number"를 "build.number"로 변경하십시오. 그것은 여전히 ​​같은 의미를 지니고 있으며 사람들은 그것을 다른 것과 혼동하지 않을 것입니다. 동시에 BUILD_NUMBER와 완전히 다릅니다. 대소 문자를 구분하지 못하는 것은 확실하지 않습니다 (Windows에서 서버 또는 클라이언트입니까?). 그러나 이것이 최선의 방법입니다. 위의 1 또는 2를 사용하여 스크립트의 내부 변수를 매개 변수 및 환경 변수와 일치시킬 수 있습니다. – Sagar

관련 문제