빌드 자동화(build automation 또는 makemake)의 본질적 목적은 소프트웨어 개발자가 반복해서 하는 코딩을 잘 짜여진 프로세스를 통해 자동으로 실행하여, 믿을 수 있는 결과물도 생산해 낼 수 있는 일련의 작업방식 및 방법을 말한다.

소프트웨어 개발 프로세스
활동과 단계
요구사항 분석 · 기능 명세
구조 · 설계
구현 · 테스팅
배치 · 유지보수
개발 모형
애자일 소프트웨어 개발 · 클린룸
DSDM · 순차점증적 개발 · 반복형 개발
RAD · RUP · 나선 모형
폭포수 모델 · 익스트림 프로그래밍
스크럼 · V 모델 · TDD
지원 활동
구성 관리 · 문서화
품질보증 · 프로젝트 관리
사용자 경험 설계
도구
컴파일러 · 디버거 · 프로파일러
GUI 디자이너 · 통합 개발 환경

지속적인 통합(continuous Integration)과도 일맥상통되는 의미다. 수없이 반복해서 최종 결과물을 만들어내야 하는 소프트웨어 개발업무에서 빠질 수 없는 개념적 이해가 되었다. 특히 오늘날의 복잡하고 광범위한 협업적 개발 과정에서는 과정과정에서 있을 수 있는 인간적 실수의 가능성을 최소한으로 줄여야 한다.

개요 편집

역사적으로 빌드 자동화는 makefile을 통해 이루어진다. 오늘날에는 보통 2가지 분류의 도구들이 있다:[1]

  • 빌드 자동화 유틸리티
  • 빌드 자동화 서버

빌드 편집

예를 들면 우분투같은 리눅스 계열의 빌드환경이나 QT 같은 통합 어플리케이션 개발 환경 또는 크로미움 브라우저 소스코드들은 make라는 빌드 소프트웨어를 기본 지원하고 있다. 그러나 이러한 여러 목적파일들을 링커(linker)하는 대규모의 복잡한 소스코드 환경에서는 각각의 목적파일을 컴파일하는 make를 만들어주고 설정하는 상위의 make파일이 의존성과 효율성 면에서 필요하게 되므로 따라서 이러한 일련의 계층적이고 조직적인 빌드의 자동화를 매크로(macro)적으로 구현할 소프트웨어가 요구된다. 대표적이고 전통적인 빌드자동화(makemake) 소프트웨어로는 cmake가 있다.

같이 보기 편집

각주 편집

  1. Ceruzzi, Paul E. (2003). 《A history of Modern computing》. The MIT Press. ISBN 978-0262532037.