개발자꿈나무

빌드 자동화 도구 본문

CS/소프트웨어공학

빌드 자동화 도구

망재이 2024. 1. 9. 21:03
  • 빌도 자동화 도구의 개념
    - 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정을 빌드라고 하며 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
    - 애자일 환경에서는 하나의 작업이 마무리될 때마다 모듈 단위로 나눠서 개발된 코드들이 지속적으로 통합되는데, 이러한 지속적인 통합 개발 환경에서 빌드 자동화 도구가 유용하게 활용
    - 종류 : 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