<aside>
💡
요약
Paragon 배치 서버 증설에 따른 적절하지 않는 방법의 배치 제어 정상화
</aside>
개요
- 24년 04월 Paragon Batch 서버 증설로 Batch Application 인스턴스를 작업
- 결과로 동일한 Application 에 의해서 동일한 스케쥴링이 반복적으로 실행되는 문제를 방지하기 위해서 임의적으로 배치 작업의 CI / CD를 특정 브랜치( feature/DT-24431 , release )로 분기하여 작업
코드 분석
- Quartz 를 기반으로 스케쥴러 동작하고 있다.
- 일부 특정 Job ( 아고다 등 ) 작업과 기존의 Job 에 대해서 분리해서 각각의 하드 코딩으로 적용되어 있다.
- A → 공급사, 캐싱, 호텔 [ release ]
- B → 아고다, 네이버쇼핑 [feature/DT-24431]
- 동일한 코드를 가지지 않고 각각의 서버마다 다른 코드를 가지게 하여 배치 작업을 분기하고 있다.
- 다른 코드를 가진 작업을 형상 관리를 위해 2개의 브랜치로 나뉘어 작업이 이루어 진다.
- 즉, 다른 2개의 버전을 관리하면서 물리적으로 배치를 나누어 진행 한다.
문제점
- 동일한 코드가 아닌 상이한 코드를 관리해야 함으로 관리 포인트가 2곳이 된다.
- 코드 분석 또는 수정 시 2곳의 포인트를 관리해야하는 상황이 온다.
- 운영 서버에 release 브랜치가 아닌 feature 브랜치를 배포하게 되면서 과정이 정상적이지 않다.
- CI / CD 서로 다른 구성 세팅 되면서 CI / CD 2개의 작업이 필요하다.