dvcs를 사용할 때 많은 장점이 있지만 중앙 집중식 vcs처럼 사용할 수 있지만 로컬 커밋을 사용하고 일부 소규모 그룹을 위해 프로젝트를 매우 쉽게 포크 할 수있어 지속적인 통합을 지원하기가 더 어려워 집니까? CI 서버에 의해 테스트 된 최신 변경 사항에 모두가 액세스 할 수 있도록 개발에 도움이되므로 호환되지 않는 변경 가능성을 최소화 할 수 있습니다.dvcs를 사용하여 기업 환경에서 지속적인 통합을 사용하기가 어려워 졌습니까?
5
A
답변
6
DVCS를 중앙 집중식으로 관리 할 수 있습니다. DVCS와 중앙 집중화 된 것의 차이점은 DVCS의 경우 에이 없으므로 중앙 집중식으로 처리 할 수 없다는 것입니다.
모든 사람이 변경 사항을 푸시 할 수있는 중앙 저장소가있을 수 있으며 모든 사람이 최신 코드를 가져올 수 있습니다. 서버에 커밋 훅 (commit hook)을 작성하여 누군가 코드를 푸시 할 때마다 테스트를 통과하여 테스트를 통과하도록 할 수 있습니다. 중앙 집중식 버전 관리와 같지만, 중앙 서버로 푸시 할 준비가되기 전에 로컬 지사를 만들고 여러 로컬 커밋을 만들 수 있기 때문에 더욱 좋습니다.
많은 변화를 일으킨 커밋을 여러 번 만들었지 만 여러 커밋을 원했지만 완료되고 다시 모든 것이 수정 될 때까지 공유하지 않으셨습니까? 이것이 바로 DVCS의 쉬운 일입니다.
0
CI를 수행하는 것이 더 어려워집니다. 소스 제어 시스템이 지속적으로 통합하지 않는 것이 좋습니다. 그러나 중앙 저장소에 정기적으로 통합하지 못하게하는 것은 없습니다. 팀은 그것에 관해 징계를 유지해야합니다.
소규모 팀이 프로젝트를 포크하고 잠시 자신의 일을 수행하는 경우 해당 포크에 대해 지속적인 통합을 수행하고 두 포크 사이에 정기적으로 통합을 설정해야합니다.
Accurev이 못살게 굴지이 기반 다단계 연속 통합 전략 스트림과 유사 할 것입니다 :
http://www.accurev.com/multistage-continuous-integration.html