2009-07-30 5 views
2

내가 "시간"을 말할 때 나는 빌드 (컴파일, 단위 테스트, 코드 커버 리지, 정적 분석 등)에서 일어나는 모든 것을 포함하고있다.급속 개발에 서버 구축 시간은 얼마나 중요합니까?

나는 무엇을 얻는가가 내가 빌드 타임 임계 값 하드웨어를 업그레이드하거나 더 작은 빌드로 분할해야합니다.

현재 나는 5 분 정도 기울고 있습니다.

답변

3

5 분이 좋은 출발점입니다. 저는 6 인 팀과 함께 12-15 분이 걸린 프로젝트를 진행했습니다. 우리의 규칙은 당신이 깨지 않았던 건물 프로젝트 나 깨진 구조물에 맡기는 것이 아닙니다. 커밋은 매 12-15 분마다 만 발생할 수 있으며 이것이 문제가되었습니다. 우리는 더 나은 하드웨어에 투자하고 빌드를 1) 빌드 및 유닛 테스트, 2) 수락 테스트 및 코드 품질 검사로 분할했습니다. 우리는 1 ~ 2 분 후에 또 다른 커밋을 허용하는 규칙을 수정했습니다.

고려해야 할 또 다른 요소는 커밋이 끝난 후 점심, 회의 또는 당일 근무 환경에서 나가는 시간입니다. 나는 6시에 커밋을하고 6시 20 분까지 기다려야한다는 것을 기억한다. 아침까지 내가 기다릴 때가있었습니다.

은 그래서 두 가지 요인은 다음과 같습니다

  • 얼마나 사이의 커밋?
  • devs가 커밋을하지 않도록 빌드하는 데 너무 오래 걸립니까?
1

우리는 연속적인 통합 서버 (Hudson)에 명시적인 지연을 설정하여 저장소를 사용 가능한 상태로 되돌리기 위해 다중 커밋이 필요할 경우 빌드가 "중단되지"않도록합니다. 분 동안의 여러 커밋). 예를 들어, 서로 의존하는 여러 프로젝트가있을 수 있으며 변경 사항이 논리적으로 독립적이므로 코드를 각각 커밋해야하거나 별도로 커밋해야하는 코드가있을 수 있습니다.

지속적인 통합의 주된 목표 중 하나는 우연히 중단되지 않도록하고, 특히 무언가가 깨진 경우 누군가가 가능한 빨리 알아내는 지 확인하는 것입니다. 문제가 발생한 시점과 가까운 지점에서 문제를 해결하는 것이 훨씬 빠르고 쉽습니다. 나중에 개발자가 마침내 빌드를 수행 할 때보 다 훨씬 더 쉽습니다.

또한, 지속적인 통합 (빌드) 시스템의 단순한 존재는 개발자가 최상의 행동을 유지하는 경향이 있습니다.

빌드에 몇 시간이 걸리지 않는다면 괜찮을 것입니다.