CI - 좋은 빌드프로세스 요건

CI

1.빌드는 이식성이 있어야 한다.

새로운 개발자도 IDE에 의존하지 않고 프로젝트의 소스 코드를 체크아웃할 수 있고, 빌드를 수행할 수 있어야 한다. 최근에 개발하는 OS와 빌드하는 OS가 다른 경우가 흔하다.

2.개발자의 개입 없이도 한번에 빌드가 수행되어야 한다.

이것은 지속적인 통합(Continuous Integration)의 원칙 중 하나이다. 빌드 중에 개발자의 개입이나 수정이 필요한 빌드 프로세스는 프로세스가 쉽게 어긋나거나 깨지기 쉽다는 취약점을 가진다.

3.빌드 프로세스는 몇몇 툴들과 프로세스로 구성되나, 반드시 하나의 일관된 빌드 프로세스로 통합되어야 한다.

소프트웨어 애플리케이션 빌드는 코드 컴파일 과정, 단위/통합/기능 테스트 과정, 자동 코드 감사(code audits) 수행 과정, 애플리케이션을 실행 가능한 패키지로 생성하는 과정, 테스트환경 안으로 애플리케이션을 배치하는 과정, 그리고 기술 문서를 생성하는 과정으로 구성된다.

위와 같이 복잡한 빌드 과정들을 여러가지 툴을 이용하여 빌드를 할 때, 명확하게 설계되지 않은 빌드프로세스를 사용한다면 스파게티 소스코드처럼 후에 유지보수를 할수 없는 CI 시스템이 되어버린다.