로
당신이 .hg 디렉토리에 생성해야 /home/user/mercurial/.hg/hgrc
및 추가 후크, 내가가 속 설립 (내가 현상금 해요, 내 경우는 특정 지점 수은이다).
주/원본 저장소에서 원하는 빌드 스크립트로 후크를 배치하십시오. 사전 그룹화는 들어오는 변경 사항을 유지하는 것입니다. 나는 로데 코드가 메인 저장소에 설치되어 있고 그 자체가 자신의 훅을 가지고있다. 이 방법으로 나는 여전히 Jnekins를 트리거하고 여전히 rhodecode 푸시 알림 및 다른 것들에 대한 트리거를 변경합니다.
[hooks]
pregroupchange = /path/to/script.extention
스크립트에서 원하는 동작을 배치하고 젠킨스 (Jenkins)의 트리거도 배치하십시오. Jenkins:Job:Configure:Build Triggers:checkbox
에서 트리거를 사용 설정하는 것을 잊지 마세요. + 여기에 desired_token
을 입력하십시오. (내 경우 : 수은) 특정 분기에만 수은 트리거를 사용할 수 없으므로이 방법으로 분기 이름을 발견했습니다. 또한 원격 스크립트에서 트리거하려면 Jenkins에 익명 전체에 대한 읽기 권한을 부여하거나 자격 증명이있는 특정 사용자를 만들어 트리거 URL에 넣어야합니다.
배쉬 예 : 원래의 질문에 대한
#!/bin/bash
BRANCH_NAME=`hg tip --template "{branch}"`
if [ $BRANCH_NAME = "branch_name" ]; then
curl --silent http://jenkins_domain:port/path/to/job?token=desired_token
fi
: 당신은 단지 원하는 지점에 대해 하나의 빌드를 실행 이런 식으로
. 후크는 다중 복제본, 여러 개발자와 함께 작업하는 경우 기본 저장소에만 사용됩니다. 로컬 훅이있을 수 있지만 로컬에서 Jenkins를 트리거하지는 않습니다. 모든 개발자에 대해 Jenkins는 밀어 넣기 (커밋, 수신, 그룹 변경)가 발생했을 때 메인 저장소에서만 트리거합니다. 로컬 후크는 이메일, 로그, 구성 등과 같은 다른 것들을위한 것입니다.
많은 프로젝트가있는 경우보다 쉬운 젠킨스 관리를 허용하는 웹 인터페이스 (RhodeCode)의 커뮤니티 버전을 사용하는 것이 더 쉽습니다. 여기를 참조하십시오 : http : // stackoverflow.com/questions/41035844/build-jenkins-job-after-commit-to-repository – marcinkuzminski