2011-08-23 4 views
24

Jenkins는 매개 변수화 된 빌드를 지원합니다.Jenkins에게 전달 된 매개 변수에서 git 태그를 만들 수 있습니까?

태그를 배포하여 매개 변수를 통해 지정해야하는 배포 빌드가 있습니다. (특정 태그를 프로덕션에 배포하는 경우)

git 플러그인을 사용하여 쉽게이 작업을 수행 할 수 있습니까?

매개 변수 TAG_NAME을 추가하고 작업의 git plugin 섹션에 branch_specifier를 $ TAG_NAME로 설정해 보았습니다. 작업하지 않아도됩니다. 알 겠어 :

ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 

아이디어가 있으십니까?

답변

21

빌드를 매개 변수화하고 git URL 상자에 정의한 변수의 이름을 넣으십시오. 예 : $ {GIT_URL} 이렇게해야합니다.

+0

쿨 브레이슬릿은 제가 놓친 것입니다. 건배. – dalyons

+0

ㅎ! 그것을 듣기 좋게 문제를 해결했습니다! :) – carlspring

+2

호기심에서 태그가 매개 변수로 지정되면 $ {GIT_URL} 변수는 어떻게 보이나요? 나는 젠킨스 + 힘내, 멍청한 질문에 대한 미안 해요. – paxos1977

10

Google 상위 항목이므로 위도가 너무 높습니다. 이 질문에 시간을 썼습니다 ... 짧은 대답 : Extensible choice plugin + groovy script. 이렇게하면 드롭 다운 메뉴가 이미 기존 태그로 채워지도록 할 수 있습니다.

def gettags = "git ls-remote -t [email protected]:mycompany/com.someproject.git".execute() 
def tags = [] 
def t1 = [] 
gettags.text.eachLine {tags.add(it)} 
for(i in tags) 
    t1.add(i.split()[1].replaceAll('\\^\\{\\}', '').replaceAll('refs/tags/', '')) 
t1 = t1.unique() 
return t1 

긴 대답 here

+0

그건 나를 위해 작동하지 않습니다. Git Parameter Plugin과 마찬가지로이 플러그인이 SSH 자격 증명을 고려하지 않는다고 생각합니다. 어쨌든 드롭 다운 목록에 항목이 없습니다. –

+0

'def gettags'로 시작하는 줄은 나를 위해 작동하지 않습니다. 왜냐하면 자식은 SSH에 대해 알지 못하기 때문에'.ssh/config' 파일을 jenkins 사용자에게 추가 할 수 없기 때문입니다. 내 자신의 대답을 참조하십시오 http://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

9

정확하게 그렇게 할 수있는 Git Parameter Plugin을있다 :

이 플러그인은 매개 변수화에 매개 변수 빌드 당신이 자식 태그 또는 개정 번호를 할당 할 수 있습니다. 을 설정할 필요가 없습니다.이 플러그인은 Git 플러그인의 기본 구성을 읽습니다.

+0

힘내 매개 변수 플러그인을 사용하려고하는데, v 0.3.2에서는 작동하지 않습니다. release (sha1 of repo) – kikicarbonell

+0

Git 매개 변수 플러그인 버전 0.4.0을 사용하고 있지만 git 서버용 SSH 자격 증명을 사용하지 않는 것 같습니다. 그래서 모든 자식 태그를 가져 오려고 시도 할 때 오류가 발생합니다. http://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

+0

나는 Extensible Choice 플러그인과 PHP 스크립트를 사용 했으므로 전혀 작동하지 않았다. 연결된 질문에 대한 내 대답. –

관련 문제