CI/CD 2

소프트웨어 배포 전략

사실 중요한 건 무엇을 배포하느냐만큼, 어떻게 배포하느냐이다. 소프트웨어 개발은 기획과 설계부터 테스트와 배포에 이르기까지 여러 단계와 페이즈로 이루어진 과정이다.그중에서도 배포(deployment)는 실제로 제품이 최종 사용자에게 전달되는 단계이기 때문에, 소프트웨어 개발 생명주기(SDLC)에서 특히 중요한 단계가 된다. 하지만 소프트웨어 배포는 많은 변수와 위험 요소 때문에 복잡해질 수 있다.모든 개발자는 새 릴리스가 프로덕션을 폭파시키는 그 순간을 두려워한다.화난 사용자들, 한밤중 롤백, 끝없는 디버깅. 배포 과정은 다양한 접근 방식과 도구를 통해 자동화·관리·모니터링할 수 있고, 이를 통해 다음과 같은 점들을 보장할 수 있다.애플리케이션이 최종 사용자에게 신속하게 배포되고, 다운타임을 최소화할 수..

[Gradle] Gradle - 기본 구조 알아보기

우리는 스프링을 사용하면서 Gradle이라는 추상화 도구를 통해 간편하게 로컬에서 프로젝트를 띄워볼 수 있었다.하지만, Gradle이라는 도구에 대해서 깊게 이해하고, 응용할 수준이 되진 못했다.한번 Gradle에 대해 좀 더 깊게 이해하고, 오류 상황에서 대처할 수 있도록 기본 지식을 갖춰보자.Gradle이란?Gradle은 프로젝트 초기화 및 빌드 자동화 도구이다. 다시말해, 설정/외부 라이브러리 의존 관리를 간단하게 만들어주는 역할을 수행한다.우리가 IDE, Spring Boot initializer로 흔히 생성하는 스프링 프로젝트는 gradle과 같은 빌드 도구를 기반으로 생성되는 프로젝트이다.gradle init을 수행하면 gradle이 직접 만들어준 프로젝트를 실제로 확인해볼 수 있다.Gradl..