Coding History/Team Project

팀플) 자동배포, 무중단 배포 구현

BlackBirdIT 2024. 12. 9. 02:18

사실 컨테이너로 해보고 싶어서 어제 하루종일 붙들고 있다가 포기하고 서버 컴퓨터 다시 생성해서 다시 처음부터 했다.

괜히 일 벌려서 일 다시 하게 생겼네.

우선 컨테이너로 왜 하려고 했냐면 나는 모든게 다 한 네트워크 안에서 돌아가게 하는게 지금의 배포 구성보다 더 효율적이지 않을까? 라고 생각했고 관리도 용이할 거라는 생각때문에 기존에 있던 자동배포 로직 자체를 싸그리 다 고쳐봤는데 이게 자동으로 업로드까지는 되는데 nginx에 코드로 도메인이랑 설정들 넣는데에서 계속 문제가 발생했다.


(여기 릴리즈 보면 총 54번 시도해본거다. 지금도 서버 키면서 중간중간 비는 시간에 이거 작성중)
지금 이걸 막 작성하고 있는 시간이 일요일 오후 7시 쯤인데 어제 한 오후 3시? 부터 시작해서 아침 8시까지 붙잡고 있다가 결국 되돌려 놓고 자고 일어나서 다시 해보는중.

그래서 그냥 컨테이너는 포기했고 그냥 원래 하던 방식으로 다시 구현해보려고 한다..


그래서 지금 DB 연결이랑 구글 설정에 대한 거 주입에대한 것 까지 다시 설정해서 배포하고 서버컴의 스프링에서 통과되는거 확인중이다.

그래서 모든 내 설정은 통과한 것 같고 마지막 검증을 통과 못한건데

이거임.

여기 시큐리티 경로에서 제외해주면 될듯.


테스트 반환도 이제 잘 받는데 redis 연결에 애를 좀 많이 먹음 데이터 보호 차원에서 죄다 시크릿으로 관리해서 추적도 제대로 못하겠어서 그냥 죄다 짚어 넣고 하나하나 다 테스트해보고 IP 도 어디인지 찾아내서 그걸로 하는데 어째서인지 계속 변경한 값이 아닌 기본 값인 로컬호스트로 접근하려는 시도를 해서 도커 파일 빌드할 때 확실하게 연결하기 위해서 dev설정을 지우고 들어가게 설정함.


뭘 어떻게 해도 해결이 안되서 이건 코드문제다 싶어서 코드를 고침

원인이 여기있었음. 보니까 그냥 기본설정을 사용하게 설정 되어있었음..

환경변수를 받도록 해줬음.

그러고 테스트 해보니까 응답을 받았다 드디어/

Caused by: io.lettuce.core.RedisCommandExecutionException: NOAUTH HELLO must be called with the client already authenticated, otherwise the HELLO <proto> AUTH <user> <pass> option can be used to authenticate the client and select the RESP protocol version at the same time

인증하랜다. 비번 넣었는데 왜그러지

Lettuce에서 Jedis로 바꿔봄.

이것도 안되면 아마 제대로 주입이 안된거일듯?


결론부터 말하면 redis 까지 제대로 초기화 돼서 연결 됐음.

이제 도메인으로 접속 가능한지 확인해보면 됨.

와 씨 된다 드디어 했다. 근데 구글 로그인이 작동안해서 콘솔에서 허용해줘야될 것 같은데 나 예전에 했는데 왜그러징 다시 체크해보자.

일단 그건 제쳐두고 무중단 배포 확인도 해봤는데 잘 됨.

여기 보면 이미지 두개 돌아가다가 2만 남는 시점이 보일거임.

그래서 일단 결론은 무중단 배포, 자동 배포 완료함.