2010-11-29 6 views
0

허드슨에서 약 30 개 정도의 프로젝트를 진행하고 있습니다. 지금 그들은 모두 커밋에 따라 자동으로 빌드됩니다. 커밋시 빌드 할 수있는 기능을 유지하면서 트렁크와 지점간에 모든 프로젝트를 전환 할 수있는 방법이 있습니까?허드슨 지사에서 빌드

브랜치를 지정하기 위해 빌드가 매개 변수화되었지만 자동 빌드가 중단됩니다.

답변

1

글쎄, 당신은 몇 가지 옵션이 여전히 자동 빌드를 가질 수 있지만 옵션 중 하나가 기본값이됩니다 (줄기 나 가지 중 하나가 될 것입니다 트렁크 프로젝트를위한 하나, 하나 : 기본)

2) 별도 되세요 트렁크 및 지점

3) (이 나는 그것이) 우리의 장소에서 설정이 개 빌드 서버를 가지고 어떻게 들어, 각 프로젝트에 대한 빌드 특히 나뭇 가지에 적합합니다.

+0

나는 세 번째 옵션을 찾고 있습니다. # 1은 여전히 ​​나에게 문제가되고 # 2는 빌드 트리거에서 "의존성이 빌드 될 때 빌드"에 관한 문제로 실행됩니다. # 3은 모든 것을 훌륭하게 유지합니다. –

+0

옵션 # 3은 우리가 함께 간다. –

+0

좋아요! 나는 그것이 잘 작동하기를 바랍니다. – Sagar

1

"스위치"를 어떻게 사용할 것인지 잘 모르겠지만 분기를 사용하는 방법에 따라 달라집니다. (우리의 설정에서 지속적인 빌드를 가진 브랜치는 오래 지속되는 프로젝트 또는 릴리즈 경향이 있으므로 트렁크 빌드와는 별도로 각 브랜치에 대한 빌드를 설정합니다. 브랜치가 수명이 긴 경우 권장 방법입니다.

  1. 다시 구성을 할 수있는 스크립트를 작성 (또는 복사)을 Hudson Remote API을 통해 작업 :)

    몇이 접근하는 방법이 있습니다. http://your-hudson/job/JOB_NAME/api을 보면 새 작업 구성을 제출하는 방법에 대한 자세한 지침을 볼 수 있습니다. 그 자동으로 scm/location/remote 속성을 편집 할 수 있습니다.

  2. scm에서 커밋 된 후크를 사용하여 매개 변수화 된 빌드를 실행하십시오. post on the Hudson Labs blog은 폴링이 아닌 커밋을 푸시 (push)하기 위해 서브 버전 포스트 커밋 훅을 설정하는 방법을 설명합니다. 무엇을 만들지 결정하기 위해 스크립트에서 좀 더 작업해야합니다. 이 솔루션은 나에게 꽤 까다로운 것 같습니다.

    1) 당신은 매개 변수화를 사용할 수있는 빌드 :

1

+1 또는 sagar : 첫 번째 생각에 나는 첫 번째 옵션을 bobnix의 문제 해결 방법으로 제안했을 것입니다.

그러나 질문이 몇 번 더, 나는 그가 실제로 원하는 것을 확신하지 못합니다. 그가 분기 또는 트렁크에서 빌드를 트리거하려는 경우 포스트 커밋 후크를 사용하는 것이 좋습니다. +1 Dave B. (솔루션 2)

트렁크 대신 지사를 만드는 것이 최상의 솔루션보다 Dave의 1 번 솔루션 일 것입니다.

또 다른 옵션이 있습니다. Bobnix가 실제로 지사를 만들고 싶지만 새로운 일자리를 마련하기 위해 노력하고 싶지는 않습니다. 해결책은 트렁크로 다시 전환 할 때까지 기존 작업을 재구성하는 것입니다. 개발이 거의 없다면, 지점에 개발이있을 때 이것은 유효한 생각의 기차 일 것입니다. 그러나 복사가 매우 쉽기 때문에 트렁크 작업을 복사하고 scm을 분기로 조정하는 것이 좋습니다. 더 이상 브랜치를 필요로하지 않으면 삭제하십시오.

+0

복사 아이디어가 가장 쉬울 것이지만, 그것이 30 개의 프로젝트에서 작동하는지 궁금합니다. 제가 두 개의 별개의 Hudsons, 즉 지점과 머리를위한 유일한 이유는 우리가 93 개의 프로젝트를 가지고 있다는 것입니다. – Sagar

+0

Bobnix가 모든 작업을 한꺼번에 전환하려고하는지 잘 모르겠습니다. 그렇다면 파일 시스템 (작업의 config.xml이면 충분)에서 작업을 복사하고 스크립팅 가능한 편집기 (예 : sed)를 실행할 수 있습니다. Hudson에서 설정을 새로 고침 (또는 다시 시작)하면 새 작업이 있고 지점을 가리 킵니다. –

+0

30 개 프로젝트를 모두 옮겨야했습니다. 종속성이 생길 때 빌드 트리거가 있기 때문에 Sager의 세 번째 옵션을 사용했습니다. 두 개의 프로젝트가 동일한 아티팩트 (트렁크 및 분기)를 구축하면 충분히 연계되어 경쟁 조건이 종료됩니다. –

관련 문제