개발 고민(2)
-
Github Action CI/CD 개발/배포 분리 전략 (feat: 브랜치 분리 이유)
목차branch 분리 구현 이유 및 방식gradle.yml 파일 전략 변경점 branch 분리 구현 이유 및 방식 자동화 배포로 인해 원치 않은 자료까지 배포되던 문제 해결을 위한 방법으로 개발 branch와 배포 branch를 분리해 사용하기로 하였다. 기존 프로젝트에서 저장 및 배포는 master 브랜치에서 이뤄졌다. 이론상으로 많은 사람들이 배포와 개발을 분리해서 진행하는 것이 옳다는 것을 알았지만 이번 자동화 배포를 왜 그렇게 하는지 절실하게 느끼게 되었다. 1. 문제점 단일 브랜치를 이용 문제 단일 브랜치(master)에서 개발/배포를 동시에 진행하면 별도의 pull request 없이 push하는 순간 테스트 후 자동 배포가 된다. 별도 작업 없이 push만하면 배포가되니 편하기는 했지만 하..
2024.07.02 -
[Spring] SSR에서 JWT를 이용한 인증/인가 처리 고민
SSR과 JWT에 대한 고찰여기저기 글을 찾아보면 LocalStorage, Cookie를 이용해 JWT 관리하게 되는데 Spring Boot에서 JSP, thymeleaf 같이 SSR 기반 방식의 경우 JWT를 사용하는 경우는 거의 없습니다. SSR 경우 대부분 세션-쿠키를 이용해 stateful하게 상태관리를 해줍니다. 첫 번째는 LocalStorage 방식의 경우 SSR에서는 구현이 거의 불가능하고 두 번째 Cookie를 이용하는 방법 또한 세션-쿠키를 이용한 방법에 비해 코드의 보안, 복잡도, 생산성이 모두 떨어지기에 굳이 사용하려고 하지 않습니다. 하지만 Cookie를 이용한 방법으로 처리가 가능하고 복잡하긴 하지만 왜 JWT를 사용하지 않고 세션 방식을 사용할까에 대한 고민을 하게 되었습니다. ..
2024.02.14