- Today
- Total
목록Infra/Nginx (3)
hye-log
지금까지 설정만 다 했으면 여기는 파일만 잘 쓰면 끝이다! 1. Dockerfile FROM openjdk:17 ARG IDLE_PROFILE ENV ENV_IDLE_PROFILE=$IDLE_PROFILE COPY build/libs/{{.jar}} /app/app.jar RUN echo $ENV_IDLE_PROFILE ENTRYPOINT ["java", "-Dspring.profiles.active=${ENV_IDLE_PROFILE}", "-jar", "/app/app.jar"] Dockerfile부터 작성해준다 IDEL_PROFILE은 deploy.sh에서 설정해줄텐데 새로운 profile로 실행하도록 설정해준다 2. application.yml spring: profiles: active: prod..
서론 없이 바로 삽질한 내용들 갑니다! 1. Jenkins 생성 Jenkins는 만들던 대로 만들면 된다 webhook 걸어서 git에 push하면 Jenkins도 동작하도록 설정하기! 2. nginx 설정 변경 (blue)port 9091 -> (green)port 9092 로 넘어가도록 구성할 것이다 우선 nginx에게 포트가 변경되는 것을 알려주기 위해서 service-url.inc 파일을 하나 생성해서 url을 변경해준다 sudo vi /etc/nginx/conf.d/service-url.inc /etc/nginx/conf.d에 service-url을 만들 파일을 하나 생성하고 set $service_url http://127.0.0.1:9091 위와 같이 백엔드 주소를 입력해준다 무중단 배포 s..
프로젝트를 진행하면서 "백엔드 서버 내려갔어. 이따가 올라가" "서버 지금 동작하고 있어?" 라는 말을 정말 많이 했다. 프론트엔드도 현재 서버가 정상적으로 작동 중인지 알기 어렵고, 백엔드도 서버가 잘 작동되는지 지속적으로 체크해야했다. Jenkins로 백엔드 서버 구축만 하면 자동으로 배포되니 신경쓸 일이 없다고 생각했는데, 기존 서버 내리고 새로운 서버를 올리면서 서비스가 중단되는 "다운타임"을 발생했다. 이번 프로젝트에서는 "중단 없이 서비스를 배포해보자!" 라는 목표를 세웠고, 새로운 서버를 배포할 때 다운타임을 최소화하고자 무중단 배포를 도입하게 되었다. 무중단 배포의 첫 번째 단계로 profile을 이용하여 SpringBoot의 원하는 설정들을 적용해보았다. SpringBoot에서는 prop..