Build automation

1. 소프트웨어 빌드

소스 코드를 개인용 컴퓨터에서 실행할 수 있는 독립적인 형태로 가공하는 과정을 말합니다. 이 프로세스에는 소스 코드를 기계 코드로 변환하는 컴파일, 패키지 파일 연결 및 테스트 코드 확인이 포함됩니다. 예를 들어 Java 애플리케이션인 경우 빌드는 JAR 파일을 생성합니다. iOS 앱을 사용하면 소스 코드가 빌드를 거쳐 하나의 실행 가능한 앱이 됩니다. 이것은 구조입니다

2. 빌드 자동화

소프트웨어 개발 과정에서 수많은 빌드를 거칩니다. 빌드 자동화의 목적은 이러한 반복적인 프로세스를 자동화하여 생산성을 높이는 것입니다. (빌드 자동화 도구를 사용하면 빌드 순서 등을 사용자 정의할 수도 있습니다.)

3. 자동화 도구 구축

빌드 자동화 기능을 제공하는 소프트웨어입니다. 오늘날 빌드 자동화에는 두 가지 주요 측면이 있습니다. 첫 번째는 빌드 자동화 유틸리티이고 두 번째는 빌드 자동화 서버입니다. 첫 번째는 Maven 및 Gradle과 같이 로컬 환경에서 빌드 자동화에 주로 사용되는 도구에 해당하고 두 번째는 Jenkins와 같은 CI(Continuos Integration)에 해당합니다.

4. 자동화 유틸리티 생성

(1) 메이븐

Java 프로젝트용 빌드 자동화 도구입니다. 종속성은 pom.xml 파일 형식으로 관리됩니다.

(Maven과 Gradle 모두 지정된 저장소에서 종속성 라이브러리 업데이트를 자동으로 확인합니다.)

(2) 그레이들

Groovy로 개발된 빌드 자동화 도구입니다. Maven과 달리 .gradle 파일을 사용합니다. 최근 Java 진영에서 Maven -> Gradle로 많은 것이 이동한 것 같습니다. 그러나 레거시 프로젝트는 여전히 Maven을 많이 사용하는 것 같습니다.

Gradle이 더 빠르고 파일 가독성이 더 좋다는 기사가 있습니다.


우선 CD를 공부하면서 빌드 자동화 도구에 대해 많이 알고 나중에 읽어보면 좋을 것 같습니다.