느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라
article thumbnail
Published 2020. 5. 7. 23:33
그레이들과 빌드 IT/Gradle

 

오늘은 그레이들과 빌드라는 챕터를 공부하였다. 빌드에 대한 챕터 모두를 읽은 것은 아니지만, 빌드가 무엇이고 그레이들의 빌드 설정파일이 어떠한 것들이 있는지 확인해 보는 시간을 가질 수 있었다.

 

그레이들의 빌드챕터를 모두 공부한 것은 아니지만, 매일 블로그 포스팅을 하는 것을 목표로 하였기에 오늘 공부한 내용을 포스팅 해본다.

 

 

빌드란?

프로그래밍한 소스 코드를 컴파일, 테스트, 배포, 문서화 등을 수행하는 일련의 작업.

 

 

빌드의 과정

 

빌드 자동화(Build Automation)

 

반복적으로 수행되는 빌드를 자동화 또는 스크립트 파일로 만들어 적용 대상 코드에 대한 작업을 자동으로 수행할 수 있도록 하는 것.

 

 

빌드 자동화의 종류

 

빌드의 자동화는 세가지가 있는데, 내 개인프로젝트의 경우 Jenkins에서 github의 소스코드를 읽어들여 배포하는 것이므로 지시자동화로 이해하면 될 것 같고, 회사에서는 특정 branch의 push만 일어나면 바로 배포되는 것으로 보아 유발 자동화로 이해하면 될 것 같다

 

지시 자동화 - 개발자의 명령어 수행으로 주로 이루어지게 됨.

예약 자동화 - 원하는 시점을 지정하고 해당 시점에 빌드를 수행한다.

유발 자동화 - 특정 조건의 수건을 수행한 후에 빌드가 수행됨.

 

 

그레이들은 빌드를 수행하기 위해 스크립트 파일, 속성 파일, 환경변수나 명령어의 옵션 속성, buildSrc 프로젝트 디렉터리 등의 정보를 참조하게 된다.

 

 

 

그레이들 스크립트

그레이들 기본객체

초기화 스크립트(init script)

gradle 객체

설정 스크립트(setting script)

Settings 객체

빌드 스크립트(build script)

Proejct객체

초기화 스크립트

- 가장 먼저 실행됨

- 주로 init.gradle로 파일 이름이 명명되고, 사용자정보, 실행환경, 초기 선언값 설정 등 초기 설정 정보를 기술

 

설정 스크립트 

- 해당 프로젝트의 빌드 관련 설정을 정의

- 주로 setting.gradle이라는 파일로 명명됨

- 빌드의 대상이 되는 프로젝트를 정의

- 해당 프로젝트가 싱글 프로젝트인지, 멀티 프로젝트인지를 결정하게 되고 프로젝트의 인스턴스를 생성 가능

 

빌드 스크립트

- 그레이들의 빌드 수행과 관련한 내용이 기술.

- 빌드 수행과 관련도니 의존 관계 정의, 태스크 정의 등의 내용이 기술됨

- 주로 build.gradle이라는 파일명으로 명명됨

 

 

속성파일은 gradle.properties로 명명되며 해당 프로젝트에  gradle.properties파일이 있다면 빌드 수행 시 자동으로 참조하여 해당 파일의 내용을 확인하게 됨.

빌드 스크립트에 기술하지 않은 환경의 변화에 따른 속성 정보 및 내용 등이 기술된다.

 

(회사 프로젝트에서 gradle.properties외에 커스텀하게 gradle_local.properties 이런식으로 properties파일을 커스터마이징 하려고 하였는데, 결국 잘 안되어서 build.gradle파일에 약간의 소스코드를 첨가하여 읽어들이도록 하였던 기억이 있다. 책을 좀 더 읽어 통찰력을 길러서 이러한 것을 좀 더 우아하게 할 수 있게되면 좋겠다.)

 

 

 

 

'IT > Gradle' 카테고리의 다른 글

그레이들(Gradle) Project 객체  (0) 2020.05.10
그레이들의 라이프 사이클과 그루비  (0) 2020.05.09
그레이들 vs 메이븐  (0) 2020.05.06
Gradle 공부의 시작(Gradle 설치)  (0) 2020.05.05
profile

느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라

@주현태

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!