본문 바로가기

728x90
반응형

문제 해결, 기술 비교/실무 업무 회고

(11)
스케줄링에 어떤 기술을 사용할까?(@Scheduled vs Spring Batch vs Quartz) 개요 Quartz는 오픈소스 잡 스케쥴링 프레임워크로 자바를 사용합니다. 단순하면서도 엄청난 유연성을 가지고 있으며 이를 통해 스케쥴링 추가와 DB 클러스터링 설정을 해보겠습니다. @Scheduled vs Spring Batch vs Quartz 스케쥴링을 위한 기술로는 크게 3가지를 선택할 수 있습니다. 스프링 기본 기능의 @Scheduled, Spring Batch, Quartz입니다. 처음으로 @Scheduled는 스케쥴링 기본 기능만 제공하며 DB 클러스터링이 가능하지 않습니다. 외부 라이브러리인 Shed Lock을 사용하여 제어할 수 있으나 현재 java 버전에 맞지 않아서 사용이 불가합니다. 현재 이 방식을 사용하고 있었는데 INSERT 작업의 경우 2개의 서버에서 중복 작업하는 문제가 발생하..
Jenkins로 CI/CD 구축하기 개요 회사에서 maven을 이용해 war 기반으로 프로젝트를 운영하고 있었습니다. 기존에 원격 서버에 filezilla를 이용해서 손수 배포하고 있기 때문에 불편했습니다. 따라서, jenkins를 이용해서 간단한 클릭만으로 배포하도록 개선했습니다. 수분이 걸리고, 이력관리가 힘들었던 기존의 환경에서 단 몇 초 만에 배포가 되도록 개선하였습니다. Jenkins 를 선택한 이유 (Jenkins 선택 이유는 아래 글을 참고해주세요) CI 어떤 도구를 사용할까?(GitLab CI vs Jenkins vs Travis CI) Jenkins 셋팅하기 이 글은 온프레미스 환경의 윈도우 서버 Jenkins 설치를 다룹니다. 세팅은 다음과 같습니다. Jenkins에 기존에 사용했던 버전과 똑같은 jdk, maven을 설..
CI 어떤 도구를 사용할까?(GitLab CI vs Jenkins vs Travis CI) 개요 회사에서 웹 프로젝트 배포 프로세스 구축 필요성을 느꼈습니다. 가장 많이 사용하는 방법 3가지는 GitLab CI, Jenkins, Travis CI입니다. 위 3가지 모두 CI/CD에 활용되는 훌륭한 기술입니다. 각 비교를 통해 현재 회사 상황에 가장 최적의 기술을 확인해 보겠습니다. 인지도 확인하기 기술은 인기가 많을수록 다양한 사례와 레퍼런스가 있습니다. 얼마나 많이 사용되는지에 따라 기술을 선택하는 것은 위험하지만 참고하여 활용할만한 가치가 있다고 생각합니다. 인기와 팔로워 모두 Jenkins가 압도적입니다. Jenkins > Travis CI > GitLab CI로 볼 수 있습니다. 다음은 stackoverflow에서 트렌드를 검색했습니다. 검색어에 제한이 있긴 하지만, Jenkins의 토..

728x90
반응형