반응형

gradle 3

Gradle Docker build (feat. Jenkins CI/CD)

개요 Jenkins에 CI / CD를 구성하는 작업은 신규 프로젝트 생성시마다 해줘야하는 귀찮은 작업 중 하나다. 또한 개발 / 배포 환경 상 자주 바뀌는 부분도 없고, 대부분 비슷하게 동작한다. 이러한 공통부분을 묶어서, 하나의 CI / CD로 모든 project (gradle subproject)를 빌드 배포할 수 있도록 구성하려 한다. Gradle docker build 'com.bmuschko.docker-spring-boot-application'는 docker build를 지원하는 gradle plugin이다. 이를 활용하여, gradle의 task를 통해 docker image 생성까지 구성하고자 한다. docker image 생성을 gradle에서 하는 이유? 기본적으로 docker ima..

Multi-project 구조 설계 (Gradle)

개요 지난 시즌 개발 중 신규 프로젝트 시작할 때 큰 귀찮음이 있었다. 1. 프로젝트마다 중복되는 코드: log 설정, db설정, kafka 설정, 등등.. 2. 프로젝트마다 중복되는 작업: github, jenkins CI/CD, docker config 등등.. 이런 귀찮음은 결국 신규 프로젝트를 시작할 때 부담으로 작용하게 되었고 간단한 아이디어를 테스트 하기에 좋지 못했다. 이번 시즌에는 이러한 부분을 사전에 방지하고자 한다. 이 글은 Gradle의 Multi-Project 구조를 통해 이러한 문제상황을 해결해보려 한다. Multi-Project 구조 설계 Gradle은 Multi-Project 구조를 지원한다. 이번 프로젝트는 2-depth 이상으로 구성하려 한다. Root project 'pb..

Gradle 이란

Gradle 이란 Groovy 기반의 빌드 툴 장점 자유로운 빌드 설정 동적인 빌드 설정 가능 손쉬운 wrapper 빠른 성능 (취향) 가독성 Build Life Cycle 초기화 단계 init.gradle, gradle.properties 환경설정파일을 read settings.gradle 파일에 포함된 하위 프로젝트(모듈) 설정 설정 단계 모든 빌드 스크립트를 평가 및 DAG Create 실행순서 결정 시행 단계 태스크를 차례로 실행 Task 빌드 단계 DAG Directed Acyclic Graph로 빌드 순서등을 가진 것 예시) java plugin DAG Repositories & dependencies Repositories 필요할 때 가져와서 쓸 수 있는 라이브러리의 집합 로컬 캐시에 저장됨..

개발 일지 2023.04.18
반응형