본문 바로가기

CI/CD2

GitLab CI/CD로 main → dev 브랜치 자동 역방향 머지(Merge-Back) 구현하기 핵심 요약: 본 문서는 GitLab CI/CD를 활용하여 `main` 브랜치에 변경 사항이 머지될 때, 해당 내용이 `dev` 브랜치로 자동으로 역방향 머지(Merge-Back)되는 파이프라인을 구축하는 방법을 설명한다. 이 자동화를 통해 브랜치 간의 정합성을 유지하고, 수동 작업으로 인한 실수를 줄여 개발 워크플로우를 크게 개선할 수 있다.많은 개발팀이 Git-Flow와 같은 브랜치 전략을 사용한다. `feature` 브랜치에서 개발한 기능이 `dev`를 거쳐 최종적으로 `main`(또는 `master`) 브랜치에 반영되는 흐름이다. 하지만 운영 중에 발생하는 긴급한 핫픽스(Hotfix)는 `main` 브랜치에 직접 적용되는 경우가 많다. 이 경우, `main` 브랜치의 최신 코드가 `dev` 브랜치에.. 2025. 6. 23.
Spring Batch 무중단 배포: 심볼릭 링크로 ClassNotFoundException 해결 핵심 요약: 본 문서는 스프링 배치(Spring Batch) 실행 중 배포 시 발생하는 ClassNotFoundException 문제를 해결하기 위해, 심볼릭 링크(Symbolic Link)를 활용한 무중단 배포 전략을 단계별로 설명한다. 이 가이드를 통해 안정적인 배치 운영 환경을 구축할 수 있다.스프링 배치 Job 실행 중에 새로운 버전의 JAR 파일이 배포되면서 발생하는 java.lang.NoClassDefFoundError 또는 java.lang.ClassNotFoundException는 많은 개발자가 직면하는 문제이다. 이로 인해 배치 Job은 비정상적으로 중단되고 데이터 정합성 문제까지 야기할 수 있다. 본 문서는 이러한 문제를 해결하고 안정적인 배포 파이프라인을 구축하는 것을 목표로 한다.0.. 2025. 6. 16.