Rolling 무중단 배포 전략 도입 전 환경을 구축합니다.
cd-rolling.yml
파일을 통해 JAR 파일을 업로드하고, 이전 프로세스를 죽이고 JAR 파일을 8081포트, 8082포트에서 실행합니다. 이 과정에서 다운 타임이 발생하게 됩니다.
롤링 전략 도입하여 무중단 배포를 실행합니다.
cd-rolling.yml
파일을 통해 deploy.sh
파일을 실행합니다.
/actuator/health
엔드포인트를 사용하여 새로 배포된 애플리케이션이 정상적으로 작동하는지 확인합니다.sed
명령어를 사용하여 proxy_pass 설정을 변경하고, Nginx를 reload합니다.새로운 배포 전략을 구축해야하므로 Nginx 설정파일을 새롭게 수정합니다.
Nginx 설정을 통해 HTTP 요청을 8081, 8082 두 개의 포트로 포워딩합니다.
upstream backend {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 80;
server_name _;
location / {
proxy_pass <http://backend>;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}