Base/CI, CD

컨테이너 환경에서 Gradle

findmypiece 2021. 5. 26. 00:44
728x90

일반적으로 Gradle이 Maven보다 빌드 속도가 빠르다고 알려져 있지만

컨테이너 환경에서는 Gradle 이 큰 힘을 발휘하진 못하는 것 같다.

Gradle 이 빠른 이유는 자체적으로 백그라운드 데몬이 수행되고 캐싱기능이 사용되기 때문인데

stateless 한 컨테이너 환경의 특성상 이게 재사용될 수가 없는 구조이다.

 

groovy 문법을 사용해서 스크립트가 간소화되고 가독성이 좋아진다는 장점도 있지만

이건 기본적으로 groovy 문법에 익숙 상태에서나 의미가 있는 것인데 

빌드하나 하겠다고 새로운 문법을 배울 사람은 많지 않다. 

그냥 대충 이렇게 돌아가는구나 파악하고 사용하는 것이 대부분이고

그럴일이 거의 없겠지만 추가로 빌드 스크립트가 필요한 경우에는

대부분의 구글링을 통해서 습득하고 있을거라 예상된다.

그리고 Maven 의 xml 문법또한 익숙한 사람들에게는 전혀 불편하지 않다.

 

유일한 장점은 한번의 빌드 내에서는 데몬과 캐싱이 재사용 가능하기 때문에

반복적인 작업에 영향을 줄 수 있다는 것인데

이 상황에서는 Maven에 비해 속도가 빠를 수 있다.

반복적인 테스트코드 수행을 예로 들 수 있겠다.

물론 또 다른 장점도 있는데 많은 사람들이 사용하고 있다는 것이다.

업계에서 많이 사용되는 기술을 쓴다는 것은 설명이 필요없을 정도로 큰 의미가 있다.

 

컨테이너 환경에서 데몬이 활용될 수 있다면 정말 최고인데

현재로선 딱히 떠오르는 방법이 없다.

728x90