2012-06-28 5 views
0

"날씨 서비스"와 "날씨 소비자"라는 시스템에는 두 가지 '구성 요소'가 있습니다.내부 의존적 인 두 repos와의 지속적인 통합

온도 REST URI를 제공하기 위해 날씨 서버가 다시 작성됩니다. weather server은 github repo에 있습니다.

기상 클라이언트는 이것을 소비해야하므로 새로운 기능을 작성했습니다. 이것은 different github repo에 저장됩니다.

이제 클라이언트가 먼저 커밋하거나 서버가 먼저 커밋되고 시스템이 첫 번째 커밋에 대해 작동하지 않고 두 번째 만 커밋됩니다. 따라서 젠킨스 서버는 불필요한 빌드 및 테스트를 수행합니다.

이 문제를 해결할 수 있습니까?

  1. 하나의 커밋으로 두 개의 git repos를 커밋 할 수 있습니까? 99.9 %는 아니지만 체크할만한 가치가 있습니다.
  2. Jenkins에게 특정 커밋을 무시하도록 말할 수 있습니까?

다른 사람들과 의견을 공유해야합니까?

날씨 서비스가 작동하는지 여부를 확인할 수있는 테스트를 할 수는 있지만 실제로는 그렇지 않습니다.

+0

Jenkins 직무가 확장 될 수 있습니까? 해당 클라이언트와 서버를 빌드하는 단일 작업 또는 두 개의 별도 작업이 있습니까? –

답변

0

나는 테스트를하기 전에 Jenkins에게 1 ~ 2 분 동안 붙드라고 말할 수 있다고 생각합니다.

1

Android Repo는 서브 모듈 대신 여러 개의 git repo를 처리하는 좋은 방법입니다. 먼저 repo를 설치하고 다음을 설치해야합니다.

Jenkins에서 repo 플러그인을 설치하고 매니페스트 파일의 위치를 ​​입력하십시오.

수동으로, 읽기 전용을 가져오고 쓰기 가능한 git repo.

의 repo 초기화 -u 자식 : //github.com/rickfoosusa/manifest -m yourmanifest.xml 의 repo 동기화

매니페스트 파일은 리모트, 프로젝트가 있습니다.

<?xml version="1.0" encoding="UTF-8"?> 
<manifest> 
    <remote name="github" 
     fetch="git://github.com/rickfoosusa" /> 
    <remote name="rickfoosusa" 
     fetch="[email protected]:rickfoosusa" /> 

    <default remote="github" revision="master"/> 

    <project name="openbenchmarks" path="openbenchmarks"/> 
    <project remote="rickfoosusa" 
      name="myproject" 
      path="openbenchmarks/myproject"/> 
</manifest> 
관련 문제