그들의 목적은 무엇입니까?
개발자 컴퓨터의 부하를 받아 안정적이고 재현 가능한 빌드 환경을 제공합니다.
개발자가 로컬 컴퓨터에서 프로젝트를 빌드하지 않는 이유는 무엇입니까?
복잡한 소프트웨어의 경우 "컴파일"만하면 놀랍도록 많은 일이 잘못 될 수 있기 때문입니다. 실제로 발생한 문제 :
- 다른 종류의 불완전한 종속성 검사로 인해 바이너리가 업데이트되지 않습니다.
- 게시 명령이 자동으로 실패하고 로그의 오류 메시지가 무시됩니다.
- 아직 소스 제어에 적용되지 않은 로컬 소스를 포함하여 빌드합니다 (다행히도 아직 "damn customers"메시지 상자가 없습니다 ..).
- 다른 폴더에서 빌드하여 위의 문제를 피하려고 할 때 일부 파일이 잘못된 폴더에서 선택되었습니다.
- 바이너리가 집계되는 대상 폴더에는 릴리스에 포함되지 않은 추가 부실 개발자 파일이 포함되어 있습니다.
모든 공개 릴리스는 소스 제어에서 빈 폴더로 가져 오는 것으로 시작하므로 안정성이 크게 향상되었습니다. 전에는 "조가 새 DLL을 주었을 때 사라진" "재미있는 문제"가 많이있었습니다.
일부 프로젝트가 너무 커서 합리적인 시간에 빌드하려면 더 강력한 기계가 필요합니까?
"합리적"이란 무엇입니까? 로컬 머신에서 배치 빌드를 실행하면 할 수없는 일이 많이 있습니다. 개발자에게 빌드 완료 비용을 지불하는 대신 IT 비용을 지불하여 이미 실제 빌드 머신을 구입하십시오.
내가 충분히 큰 프로젝트에서 일하지 않았습니까?
크기는 확실히 하나의 요소이지만 유일한 요소는 아닙니다.