2012-04-04 3 views
5

모든 사람이 작업을 해당 저장소로 푸시하는 로컬 자식 서버 (centOS)가 있습니다. Jenkins는 저 저장소에서 무엇이든 구축하는 것을 관리합니다. 최근에 힘내 엔터프라이즈 계정이 있습니다. 젠킨스를 1) 로컬 서버에서 코드를 가져 오도록 강제하는 방법이 있는지 궁금해하고 있습니다. 2) 빌드가 성공할 때마다 git 엔터프라이즈 원격 리포지토리에 코드를 보냅니다.하나의 git 서버에서 가져와 Jenkins를 사용하여 다른 서버로 푸시

나는 젠킨스의 V를 사용하고 있습니다. 1.458

답변

7

아니라, 하나의 옵션은

당신은 단지를 설치 한 후 "소스 코드 관리"섹션 에서 두 자식 저장소를 추가 할 수 있습니다 .. 단지 떠들썩한 파티에서이 작업을 수행하는 스크립트를 만들 수 ...하지만 것 Multiple SCMs plugin을 입력 한 다음 REPOLOCALNAME/branch를 빌드하도록 지정한 다음 'Git publisher'아래 끝에 병합을 지정하고 원격 분기로 푸시를 지정하십시오. (예 : BranchToPush = branchname 및 TargetRemoteName = REMOTEREPONAME)

* 이름은 SCM 섹션에 추가 할 때 저장소의 고급 옵션에서 지정됩니다.

*이 기능을 테스트하지는 않았지만 동일한 저장소에서 끌어서 놓을 수있는 기회가있었습니다.

+0

당신은 알고 있습니다. 스크립트로 어떻게 할 수 있습니까? – Peymankh

+2

쉽지는 않았지만 마침내 그 일을 처리 할 수있었습니다. 기본적으로 당신이 말한 것과 같습니다, 감사합니다. – Peymankh

+0

더 이상 명시 적/답장을 드리지 못해 죄송합니다. S 일하게되어 기쁩니다. 결국 사용자 정의 bash 스크립트를 작성해야합니까? 젠킨스에서 일하게 만들었습니까? – CasualT

0

당신은 다른 모든 성공 후 실행하고 현지에서 코드를 검색하는 일반적인 메커니즘을 사용하는 마지막 빌드 단계로 Github에서에 푸시를 설정할 수 있습니다 자식 저장소. 현재이 기능이있는 플러그인은 없습니다.

+0

음, GitHub 대신 GitEnt를 사용하고 있지만 그렇지 않습니다. 좋아, 그렇게하는 방법이나 튜토리얼에 대한 제안은 없습니까? – Peymankh

+0

죄송합니다, 잘못 읽었습니다. 프로세스는 동일해야합니다. Jenkins가 사용하는 저장소의 경우 새 원격을 설정 한 다음 모든 빌드가 끝날 때 저장소로 밀어 넣으십시오. 그 방법에 대한 간단한 자습서가 있습니다 [여기] (http://thelucid.com/2008/12/02/git-setting-up-a-remote-repository-and-doing-an-initial-push/) 예를 들면. –

관련 문제