2017-12-12 32 views
3

이것은 초보자 용 질문 일 수 있으므로 용서하십시오. 우리는 작은 파이썬 개발 팀이 있으며 우리 repo는 아래와 같이 구성되어 있습니다. 우리는 여러 스크립트 (래퍼)에서 공유되는 사용자 지정 라이브러리를 가지고 있으며 각 래퍼에 특정한 라이브러리를 가지고 있습니다. 아래의 구조는 Git에서 유지됩니다. 이것은 지금까지 개발을 위해 일했습니다. 이제 래퍼를 릴리스하고 싶습니다. 에서처럼, 우리는 별도의 청중 (다른 타임 라인과 요구 사항)을 대상으로하고 나중에 wrapper2를 대상으로 wrapper1을 릴리스해야합니다. 둘 다 shared_library와 특정 라이브러리 만 포함해야합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?힘내고 공유 된 파이썬 라이브러리

repo/: 
    wrapper1.py 
    wrapper2.py 
    shared_library/: 
     module1.py 
     module2.py 
    wrapper1_specific_lib/: 
     wrapper1_module1.py 
     wrapper1_module2.py 
    wrapper2_specific_lib/: 
     wrapper2_module1.py 
     wrapper2_module2.py 

는 우리는 다음과 같은 솔루션을 고려했다 : wrapper1, wrapper2 및 shared_library 별도로 출시 : 세 개의 별도의 repos로

  1. 다시 조직.

  2. 는 wrapper1 및 wrapper2에 대한 두 개의 별도의 repos를 가지고 주기적으로 공유 라이브러리를 동기화 (!?!)가 어떤 방법으로 선택 해제하려면 힘내을 사용할 수있는 경우

  3. 이 같은 맡겨하지만 탐구 파일, 각 랩퍼에 특정한 폴더.

힘내 사용하여 더 나은 릴리스 관리를위한 python 코드 조직에 도움을 받으십시오. 미리 감사드립니다 !!

+1

어떻게 지금 출시하고 있습니까? 도서관에서 기생 도서관을 빼내 주시겠습니까? –

+1

조직에서 피피 미러를 호스팅 할 수있는 경우 각 래퍼를 패키지로 배포하여 최종 사용자가 'pip'를 통해 설치할 수 있도록 할 수 있습니다. –

+0

@Dan 아직 출시하지 않았습니다. 계획은 GitHub에서 끌어 내려는 것입니다. 고마워요 –

답변

1

3 개의 제품이 있으며 각각에는 자체 출시 일정이 있습니다. Wrapper1 사용자는 wrapper2 코드를 보는 데 관심이 없으며 그 반대의 경우도 마찬가지입니다. 3 repos로 침입하는 것이 가장 간단한 방법입니다.

자동 단위 테스트를 shared_library 레포로 패키지화해야합니다. 종속 앱 모두 자체 테스트와 공유 테스트를 성공적으로 실행할 수 있어야합니다. 출시 된 앱이 새로운 기능 요청을 제출하고 shared_library를 다른 방향으로 가져 오기 위해이 작업이 중요해질 것입니다.

+0

모두에게 감사드립니다. 나는 이것이 내 일에도 더 나은 선택이라고 생각한다. –