TroubleShooting & Study/Infra 4

[Github Actions] Test Code Build 실패 (Caused by: org.hibernate.HibernateException at DialectFactoryImpl)

현재 서비스는 Github Actions를 사용해서 CI/CD를 구성했다. 이전에는 테스트 코드를 작성하지 않았기에 '/gradlew build -x test'를 사용해서 테스트 없이 build를 진행하였는데, 이번에 테스트 코드를 간단하게 작성하면서 '/gradlew build'로 바꾸어서 빌드 단계에서 테스트까지 진행하도록 수정했다.  문제 발생 역시나 첫 try 한 build는 실패. infra는 한 번에 성공하면 infra가 아니지 ㅋㅋ..'java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate' 에러가 발생하면서 빌드에 실패했다.      원인 파악 구글링을 해본 결과 'Caused by: org.hibernate.Hi..

[GitHub Actions] 스프링 서버 ci/cd 구축하기 (feat. Docker Hub)

이번 글은 다음 링크의 연장선이라 볼 수 있다 https://kdh0518.tistory.com/entry/cicd-develop%EC%84%9C%EB%B2%84%EC%99%80-release%EC%84%9C%EB%B2%84-%EB%B6%84%EB%A6%AC [ci/cd] develop서버와 release서버 분리 현재 상황 ec2에 배포서버 1개, 배포db 1개, redis 1개, jenkins 1개 + etc = 총 6개 정도의 컨테이너가 동작중 ci/cd 과정 local에서 개발 진행 개발 사항을 PR, 이후 develop으로 merge develop이 업데이트되면 jenkin kdh0518.tistory.com 이전 글에서 내가 한 가지 크게 착각하고 있었던 부분이 있었다. 분명 내 맥북은 메모리..

[Jenkins] Jenkins jobs를 다른 Jenkins로 이동시키는 방법

최근 서버 비용을 줄이기 위해서 local과 ec2를 넘나들며 jenkins를 테스트 하다보니, 기존에 jenkins를 설정하고 다른곳에 넘어가서 새로 연결하는게 너무 귀찮았다. 그래서 어떻게 방법이 없을까 하고 찾아보다가 jenkins jobs를 다른 jenkins로 이동시키는 방법이 있기에 공유하고자 한다. 환경 : mac m1, aws ec2, docker 동작 : local docker에 설치된 jenkins를 local에 이동 -> local에서 ec2로 이동 -> ec2 docker에 설치된 jenkins로 이동 1. Local Docker에 설치된 jenkins를 Local directory로 이동 복사를 원하는 local directory에서, docker의 /var/jenkins_home..

[ci/cd] develop서버와 release서버 분리

현재 상황 ec2에 배포서버 1개, 배포db 1개, redis 1개, jenkins 1개 + etc = 총 6개 정도의 컨테이너가 동작중 ci/cd 과정 local에서 개발 진행 개발 사항을 PR, 이후 develop으로 merge develop이 업데이트되면 jenkins에서 webhook을 통해 업데이트 감지 jenkins에서 깃허브의 develop으로 ec2 도커에 image build & deploy 문제점 local에서 테스트를 통과하여도 ec2 환경에서는 장애가 발생할 수 있음 장애가 발생하면 배포 서버가 죽기 때문에, 유저의 원활한 서비스 이용이 불가능함 develop을 수정할 때마다 배포가 되기 때문에 release를 따로 운용하지를 못함 해결 방안 Develop서버와 Release서버를 ..