Server/Gradle 3

Gradle - DependencyManagement 이해하기!

멀티 모듈 프로젝트에서 외부 라이브러리를 사용할 때 고민이 있었다. A 프로젝트와 B 프로젝트와 C 프로젝트에서 모두 동일한 버전의 라이브러리를 사용해야 하는 상황 각 프로젝트의 build.gradle에서 라이브러리 의존성 버전을 일일이 동기화해줘야 한다. 이러한 문제를 잘 해결할 수 없을까..? dependency-management-plugin Gradle의 의존성 관리 플러그인(Dependency-management-plugin)을 사용하면 이를 해결할 수 있다. 의존성 관리 플러그인은 Maven과 같은 의속성의 관리 및 제외를 제공하는 Gradle Plugin이다. Gradle 6.8 이상 Java 8 버전 이상에서 지원된다. 사용하기 전에 DependencyManagement는 Gradle 플러..

Server/Gradle 2023.05.30

SpringBoot - CircleCI + S3 + CodeDeploy 배포 구축하기 (+ 실서버 운영 환경 설정, 멀티모듈)

사이드 프로젝트를 진행하는 배포 프로세스를 고민하게 되었다. CI 도구로 Jenkins, Travice CI, CircleCI, Github Action 중 고민을 했고 젠킨스로 구성하고 싶었지만 별도 서버가 필요해서 포기했다. Travice CI는 한 번 해보기도 했고 CircleCI가 인기가 많아진다고 하고 기능이 다양하고 Github 친화적이라고 해서 CircleCI로 진행해보게 되었다. 이번에는 오케스트레이션은 빠져있고 무중단 배포 환경을 구축한 것이 아니다. 테스트 자동화, 배포 자동화에 대해서만 다룬다. (나중에 여유가 된다면 k8s에 올릴 계획이다.) 기본 CI/CD Pipeline 구축 테스트 및 빌드, 배포 자동화까지 적용해보자. .circleci/config.yml CircleCI의 c..

Server/Gradle 2022.08.01

Gradle이란 무엇인가? (+ Ant, Maven 비교)

Gradle이란 그래들(Gradle)은 그루비(Groovy)를 기반으로 한 빌드 도구이다. Ant, Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 오픈소스로 공개된 빌드 자동화 도구이다. 빌드 자동화의 목적은 소프트웨어 개발자가 반복적으로 해야 하는 코딩을 잘 짜여진 프로세스를 통해 자동으로 실행하며, 믿을 수 있는 결과물을 생산해내는 일련의 과정을 말한다. 짧게 요약하면 라이브러리를 간편하게 추가하고 관리할 수 있고, 버전도 효율적으로 동기화해서 개발자가 비즈니스 로직에 집중할 수 있게 도와준다. 빌드 도구는 Ant -> Maven -> Gradle 순으로 발전되어 왔다. 이전 세대 빌드 도구의 특징 앞서 언급했듯 이전 세대 빌드 도구는 대표적으로 Ant, Maven이 ..

Server/Gradle 2022.05.28