2012-09-20 6 views
4

나는 함께 릴리스 버전을 구성하는 바이너리 아티팩트를 관리하는 방법에 대한 도구 및 권장 사항을 찾고 있습니다.바이너리 버전 관리

프로젝트는 다음과 같습니다

+ Package-Version 
|__ Component A-Version 
|__ Component B-Version 
|__ Component C-Version 

더 수준은 구성 요소 자체는 자신의 버전과의 하위 구성 요소에서 구축되도록,있을 수 있습니다.

현재 우리는 Excel과 바이너리 링크를 사용하고 있습니다. 더 쉽게 관리 할 수있는 몇 가지 간단한 도구를 소개하여 개선하기 바랍니다. 다음과 같은 몇 가지 기본 사항을 포함해야합니다. 버전/하위 버전 검색 및 트리에있는 위치 찾기, 쉽게 액세스 할 수있는 WEB 액세스 및 스크립트를 사용하여 새 바이너리를로드 할 수있는 인터페이스가있는 인터페이스. 또한 각 항목에는 관련 정보 (주로 릴리스 노트)가 있어야합니다.

참고 :이 프로젝트는 중요한 경우 포함 된 C/C++ 프로젝트입니다.

답변

3

바이너리 (코드의 특정 버전과 관련하여 관리)에 권장되는 일반적인 아티팩트 저장소는 Nexus입니다.
C++의 경우 동일한 종속성을 관리하기 위해 Nuget을 고려할 수도 있습니다.

두 경우 모두 아이디어는 소스 제어 도구에 필요한 바이너리의 정확한 버전을 지정하는 파일 (예 : Nexus의 경우 pom.xml)을 저장하는 것입니다 (또는 해당 이슈를 빌드하여 게시하는 경우) repo)

외부에 VCS (버전 제어 시스템)를 유지하면 VCS가 너무 커지지 않아야하고 (디스크 공간에서) IT 생산 팀 (릴리스 관리 담당)이 허용됩니다.)를 사용하여 IT 개발 팀 (두 공간의 분리)을 참조하십시오.

+0

Java 개발자는 Nexus를 사용하여 커뮤니티와 라이브러리를 가져옵니다. Nexus를 로컬로 생성 된 아티팩트 저장에 사용할 수 있는지는 확실하지 않았습니다. Nexus를 사용하여 이러한 로컬로 생성 된 구성 요소를 계층 구조에 저장하거나이 계층 구조의 구성 요소를 XML 파일을 통해 관리 할 수 ​​있다는 것을 정확하게 알고 있습니까? – EdwardH

+0

@EdwardH 예, 제대로 이해하고 있습니다. 제작중인 아티팩트 (업로드 부분)를 저장하는 동안 공개 Nexus 서버 (다운로드 부분)를 반영하는 * 로컬 * Nexus 서버를 설정할 수 있습니다. 'pom.xml'은 모두 선언/관리 할 수 ​​있습니다. – VonC

1

당신은 생각하고 (예방 조치 "... 고려 최후의 수단의 기능"적용) Largefiles extension와 의욕 시도

일부 대용량 그리 명확하지 상세

+0

아티팩트가 그리 크지 않기 때문에 VCS를 사용하여 크기를 조정하면 해당 아티팩트를 관리 할 수 ​​있습니다. 그러나 조직의 모든 구성원 (이 버전 정보가 필요한 사용자)에게 충분히 투명하지 않기 때문에이 작업에 VCS를 사용하는 것이 어려웠습니다. 나는이 정보를 필요로하는 모든 사람들이 웹 페이지에 액세스하여 그것을 검색 할 것을 선호한다. VCS는 일반적으로 클라이언트와 검색 옵션이 필요하거나 레포 내부 필터링은 사소하지 않다. – EdwardH

+0

@EdwardH - 대용량 파일 확장명 ** 저장소에 ** 인공물을 저장하지 않음, Wiki 읽기 –