작업 목록2 JPA, Spring MVC를 이용한 동적 스키마 변경 개요회사에서 신규 프로젝트에 대한 환경셋팅중에 선임님이 이런 질문을 하셨다."JPA를 쓸건데, 동적으로 스키마 변경이 불가능한걸로 알고 있어요. JPA를 빼야할까요?"우리는 보안적인 이유로 고객사마다 스키마를 다르게 쓰고 있다.기존 프로젝트에서는 JPA를쓰지않다보니 요청마다 동적으로 스키마를 교체하여 쿼리를 보냈었다.JPA를 쓰면 동적으로 스키마를 교체 못하는가? 라는 의문을 나한테 주시고 휴가를 가셨다.먼저, 2가지 방법을 찾아서 진행했었다.첫 번째 방법은 요청 들어올때 Filter부에서 고객사에 대한 정보를 파싱해서 해당 정보를 가지고 connection 정보를 생성하여 연결하고 끊는 방식이다. Spring MVC의 Thread Per Request 방식을 이용해 동시성 문제를 해결하기도 하였다.두 .. 2025. 2. 21. Git Hook을 이용한 CD구축(With Dooray Messenger) 작업 후기 개요지금 있는 팀이 좀 특이한 구조를 가지고 있습니다.특정 부분의 개발 및 유지 보수는 외부 업체에 맡기고 있는데, 외부 업체는 실제 운영서버에 접근을 못합니다. 개발환경 -> 테스트 환경 -> 운영환경 중 개발환경에서만 유지보수가 가능한 상황입니다.이런 상황이기에 테스트환경에 빌드, 배포는 Jenkins와 Git hook을 통해 자동화처리를 해놨었습니다. 여기서 문제는 팀의 Git Flow전략이 달라짐에 따라 테스트환경 배포가 좀 더 빈번하게 일어났는데, 누가 배포했는지, 배포는 잘 되었는지는 팀 내에서 확인이 가능하지만 외부업체에서 이를 확인할 수 없었습니다.예를 들어서 제가 배포하고 3분 뒤에 외부업체가 자동배포를 시작하게되면 Jenkins 권한이 없는 외부업체는 배포가 완료되고 자기것이 배포되었는.. 2025. 2. 12. 이전 1 다음