개발자꿈나무
빌드 자동화 도구 본문
- 빌도 자동화 도구의 개념
- 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정을 빌드라고 하며 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
- 애자일 환경에서는 하나의 작업이 마무리될 때마다 모듈 단위로 나눠서 개발된 코드들이 지속적으로 통합되는데, 이러한 지속적인 통합 개발 환경에서 빌드 자동화 도구가 유용하게 활용
- 종류 : Jenkins, Gradle, Ant, Make, Maven 등
- Jenkins
- JAVA 기반의 오픈 소스 형태로 가장 많이 사용되는 빌드 자동화 도구
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- SVN, Git 등 대부분의 형상 관리 도구와 연동 가능
- 친숙한 Web GUI 제공으로 사용이 쉬움
- 여러 대의 컴퓨터를 이용한 분산 빌드나 테스트가 가능 - Gradle
- Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구로 안드로이드 앱개발 환경에서 사용
- 안드로이드 뿐만 아니라 플러그인을 설정하며 C++ / C, JAVA, Python 등의 언어도 빌드 가능
- Groovy를 사용해서 만든 DSL을 스크립트 언어로 사용
- 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행
- Gradle Wrapper를 이용하면 빌드 환경에 변해도 환경에 필요한 추가적인 설치 없이 Gradle 사용 가능
- 이전에 사용했던 태스크를 재사용하거나 다른 시스템의 태스크를 공유할 수 있는 빌드 캐시 기능을 지원하므로 빌드 속도 향상 가능
* DSL (Domain Specific Language) : 웹페이지 영역에 특화되어 사용되는 HTML과 같이 특정한 도메인, 즉 영역이나 용도에 맞게 기능을 구성한 언어
728x90
'CS > 소프트웨어공학' 카테고리의 다른 글
HW 관련 신기술 (4) | 2024.01.10 |
---|---|
SW / 보안 관련 용어 (0) | 2024.01.10 |
소프트웨어 버전 관리 방식, Git, SVN (1) | 2024.01.09 |
소프트웨어 형상 관리 (2) | 2024.01.09 |
UI 테스트 기법의 종류 (0) | 2024.01.09 |