[소프트웨어개발] 빌드 자동화 도구

thingzoo·2024년 2월 3일
0
post-thumbnail

빌드 자동화 도구

소스코드를 소프트웨어로 변환하는 과정에 필요한 전처리, 컴파일 등의 작업을 수행하는 소프트웨어

  • 빌드 자동화는 지속적인 통합(CI)을 지원

빌드 자동화 도구 특징

  • 자동 빌드, 테스트, 배포 수행
  • 컴파일 후 애플리케이션 자동 생성
  • 라이브러리 자동 추가/관리 및 버전 동기화

예시

Make

  • 유닉스 계열에서 주로 사용
  • 파일 간의 종속성 기반

Ant

  • 아파치 소프트웨어재단 개발
  • 자바 프로젝트의 공식 빌드 자동화 도구
  • XML기반의 빌드 스크립트 사용
  • 스크립트의 재사용이 어려움
  • 정해진 규칙이나 표준이 없어 개발자가 모든것을 정의

Maven

  • 아파치 소프트웨어재단에서 Ant의 대안으로 개발
  • 의존성을 설정하여 라이브러리를 관리
  • 규칙이나 표준 존재해 예외사항만 기록
  • 컴파일과 빌드를 동시에 수행 가능
  • 정해진 라이프사이클에 따라 작업

Gradle⭐️

  • 안드로이드 스튜디오의 공식 빌드 도구
  • Groovy기반의 빌드 스크립트 사용
  • 의존성 활용
  • 실행할 처리명령들을 모아 테스크 단위 실행
  • 기존 Ant와 Maven을 보완해 개발
  • 테스크 재사용/공유 가능한 빌드 캐시 기능 지원
  • 다양한 언어에 대한 빌드 지원

Jenkins⭐️

  • Java기반의 오픈소스 형태로 가장 많이 사용됨
  • 서블릿 컨테이너에서 실행되는 서버 기반 도구
  • 지속적 통합(CI) 서비스 제공
  • SVN, Git 등 대부분의 형상 관리 도구와 연동가능
  • 친숙한 Web GUI 제공
  • 분산 빌드나 테스트 가능
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글