배포 자동화
6. 연습 문제
문제 1. 환경별 설정 파일 이름 규칙
stage 환경의 설정 파일 이름을 이 레슨의 규칙대로 쓰세요.
application-stage.propertiesapplication-<env>.properties 규칙으로 배포 스크립트가 APP_ENV 값에 맞는 파일을 고릅니다.
문제 2. 헬스체크로 배포를 막는 이유
전환(current 변경) 전에 헬스체크를 먼저 실행하는 이유를 한 문장으로 쓰세요.
헬스체크가 실패한 릴리스가 활성 릴리스로 전환되는 것을 막기 위해서입니다.전환 후에 확인하면 이미 사용자가 문제 있는 버전을 보게 됩니다.
문제 3. 릴리스 3 개 중 1 로 롤백하기
current 가 3 인 상태에서 릴리스 1 로 되돌리는 명령을 쓰세요.
echo 1 > current리눅스 서버에서는 ln -sfn releases/1 current 로 심볼릭 링크를 다시 겁니다.
문제 4. systemd 자동 재시작 설정
앱이 비정상 종료됐을 때 systemd 가 자동으로 다시 띄우게 하는 설정 줄을 쓰세요.
Restart=on-failure[Service] 섹션에 넣으며, 값이 없으면 죽은 뒤 그대로 멈춰 있습니다.
문제 5. prod 배포에 승인을 거는 방법
GitHub Actions 워크플로에서 prod 배포 잡에 필수 리뷰어 승인을 걸 때 쓰는 키를 쓰세요.
environment:
name: production이 environment 에 필수 리뷰어를 등록해 두면 승인 전까지 잡이 대기 상태로 멈춥니다.