2017-03-19 2 views
0

상위 POM이있는 SVN에 상위 프로젝트가 있습니다. 그리고 주어진 상위 폴더 내에 여러 하위 프로젝트가 있습니다. 상위 POM은 모든 하위 프로젝트를 빌드합니다.젠킨스의 svn url에있는 각 폴더마다 다른 svn 버전을 제공하십시오.

젠킨스의 모든 빌드를 설정 중이므로 다음을 수행하고 싶습니다.

  1. 각 하위 프로젝트 폴더에 svn 리비전을 제공 할 수 있어야합니다.
  2. 상위 폴더는 최신 svn 버전으로 빌드됩니다.

위의 내용을 달성하기 위해 조정을 시도했지만 작동하지 않는 것 같습니다. 내가 무슨 짓을

은 다음과 같습니다 아동 프로젝트의 각

  1. 추가 JenkinsString Parameter. 여기서는 모듈의 소스 코드 관리를위한 변수로 리비전 번호를 전달합니다. (나는 각 자식 프로젝트에 대해 특정 svn url을 가진 여러 모듈을 추가했다).
  2. 각 하위 프로젝트에 대해 JenkinsList Subversion Tags을 생성했습니다. 이 변수는 빌드 할 때 하위 폴더 이름을 전달하는 데 사용됩니다.

것은 내가 매개 변수로 개정 번호를 전달 특정 프로젝트에 대한 생각, 그리고 (또한 빈 상위 폴더에 대한) 빈으로 다른 사람을 위해 매개 변수 필드를 떠나,이다; Jenkins는 먼저 특정 하위 프로젝트에 대한 적절한 개정을 체크 아웃합니다. 그러나 그 후에 또 다른 업데이트를 수행하고 모든 하위 폴더의 최신 파일을 체크 아웃합니다.

내 프로젝트 소유자는 프로덕션에서 릴리스하려는 모든 내용에 따라 다른 프로젝트의 다른 버전을 선택하려고합니다.

나는 이것을 달성하는 방법과 매우 혼동 스럽다. 도움이 될 것입니다.

- toplevel-project -> HEAD 
--subproject 1 -> REV A 
--subproject 2 -> REV B 
--subproject x -> REV X 

당신이 체크 아웃의 깊이와 함께 놀러 이미 시도 유무 :

답변

1

나는이 올바른 프로젝트는 다음과 같이 보입니다 이해하면? 이것은 실제로 작동해야합니다. 먼저 파일 (깊이 "파일")만으로 HEAD의 최상위 프로젝트를 점검하십시오. 그 다음에는 특정 개정에서 같은 폴더로 서브 프로젝트를 체크 아웃합니다. 하지만이 방법은 프로젝트의 구조가 저장소에서 어떻게 보이는지에 따라 약간 다릅니다.

어린이 및 빈 폴더 (깊이 "immediates")로 부모를 체크 아웃 한 다음이 하위 폴더의 새 깊이를 "무한대"로 설정하여 여러 어린이의 깊이를 특정 버전으로 전환 할 수도 있습니다. 그러나 subversion-plugin이이 동작을 지원한다면 아직 시도하지는 못했습니다.

+0

아이디어를 제공해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. 비록 내가 전에 어떻게 든 설명했던 속임수는 나를 위해 일했다. 특정 하위 프로젝트에 대해 언급 한 개정판을 체크 아웃 할 수 있습니다. 그리고 나는 필드를 비워 두지 만, 젠킨스는 최신 레브를 체크 아웃합니다. – AnirbanDebnath