2010-05-17 5 views
4

난 그냥 허드슨로 시작 그리고 난 내 손으로 만든 솔루션은 이전처럼 내 프로젝트를 빌드하고 싶습니다 :hudson에서 동일한 svn 개정 번호로 많은 프로젝트를 작성하는 방법은 무엇입니까?

  1. 레브 현재 SVN 개정 번호를 검색합니다.
  2. 개정 번호 rev 인 모든 프로젝트 (각각 개별 결과가있는 프로젝트)를 빌드하십시오.
  3. 그동안 변경 사항이 있는지 여부에 관계없이 (모든 테스트 실행에서 발생하지 않는 비 결정적인 오류를 감지하기 위해) 1 단계부터 다시 시작하십시오.

hudson으로 어떻게 구성 할 수 있습니까?

답변

2

허드슨은 실제로 하나의 SVN 체크 아웃을 만든 다음 여러 가지 다른 작업에 사용하는 것에 대한 훌륭한 지원을하지 못합니다.

이 작업을 시도 할 수 :

  • 은 알려진 디렉토리에 체크 아웃을하는 작업을 설정합니다. 빌드 후 조치> 다른 프로젝트 빌드 상자를 체크하고 모든 빌드 작업을 추가하십시오.
  • 첫 번째 작업이 배치 된 위치에서 최신 체크 아웃을 복사하도록 각 빌드 작업을 설정하십시오. 이것들을 주기적으로 빌드하도록 설정하여 체크인이 발생하지 않아도 계속 빌드하십시오.
  • Locks and Latches 플러그인을 사용하여 체크 아웃 작업과 빌드 작업 사이에 잠금을 설정하여 파일을 동시에 복사/수정하려는 두 작업으로 끝나지 않게 할 수 있습니다.

지저분하고 잠재적으로 문제가있는 것처럼 들리지만 효과가있을 수 있습니다.

이러한 모든 프로젝트를 함께 연결하려는 경우 체크 아웃을 수행하고 각 프로젝트에 대해 빌드 단계가있는 단일 작업을 설정할 수 있습니다. 그런 다음 빌드 주기적으로 트리거를 확인하여 원하는만큼 자주 실행되도록 할 수 있습니다 (또는 최소한 허드슨이 작업을 수행 할 수있는만큼 자주).

3

을 매개 변수를 사용하여 매개 변수로 버전을 선언, 매개 변수화 된 빌드를 사용합니다. 알려진 위치로 코드를 검사하는 대신 Clone Workspace SCM Plugin을 사용할 수 있습니다. 이제 첫 번째 작업에서 체크 아웃을 참조 할 수 있습니다.

또한 리비전 번호를 전달하고 매개 변수로 빌드 작업에 전달할 수 있습니다. 빌드 작업은 개정 번호를 사용하여 올바른 버전의 코드를 검색 할 수 있습니다.

+0

아주 좋습니다! 나는 그 플러그인에 대해 몰랐다. – sjohnston

+0

꽤 오래된 플러그인을 기반으로 한 아주 새로운 플러그인입니다. :) –

1

문제에 대한 필자의 의견 :

이) 코드를 체크 아웃 예비 작업을 트리거 할 SVN post-commit hook를 사용; b) SVN 개정판을 가져옵니다 (예 : SVNVERSION.EXE를 통해). c) Parameterized Trigger plugin을 사용하여 특정 SVN 수정 ID에서 "실제"빌드 작업을 트리거합니다.

이 방법을 사용하면 실제 건물에서 SCM 연결을 분리 할 수 ​​있으므로 모든 개정판을 작성하는 것이 매우 구체적입니다.

관련 문제