- Cloud 배포 자동화
- 파이프라인 : 배포 과정(Source-Build-Deploy 등 여러 과정 조합 가능)
- 실습에서 배포 자동화에 사용한 AWS 서비스 : CodeBuild, CodeDeploy, CodePipeline 등
- 배포 자동화 실습 과정
- EC2 인스턴스에 JAVA, AWS CLI, CodeDeploy Agent 설치
- EC2 인스턴스의 태그 설정 확인
- IAM 역할을 통해, 현재 연결된 권한 및 역할 설정 및 확인
- 신뢰 관계 편집을 통해 역할 명시
- 어플리케이션에 appspec.yml, buildspec.yml, initialize.sh, server_clear.sh, server_start.sh, server_stop.sh 파일들을 생성 및 설정
- CodeDeploy에서 어플리케이션 생성
- 파이프라인 생성(소스-빌드-배포)
- 배포 단계에서 실패할 경우, EC2 인스턴스 터미널에서 cd /opt/codedeploy-agent/deployment-root/deployment-logs 로 로그 확인하기. (standard error, standard output 등 standard stream)
- 서버 환경 변수 설정 과정
- 환경 변수 설정에 Parameter Store 서비스 이용(어플리케이션의 build.gradle 파일 설정/라이브러리 추가 필요)
- 환경변수명(어플리케이션의 bootstrap.yml 파일에서 설정한 경로 포함)과 값 입력
- 삽질 기록
- 처음에 파이프라인 생성할 때, source로 깃헙 연결하는데, < acount >/< repository > 이렇게 레포지토리 이름을 작성 안 하고, 어카운트를 빼먹어서 파이프라인 생성 실패했었다. 다시 편집해서 정상 작동 시킴.
- 실행 결과가 이전에 저장된 쿠키때문에 올바르게 보이지 않을 수 있으니, 쿠키 삭제 후 확인!
- 환경변수 값 입력할 때, DB 포트 번호까지 안 적어서 연결 오류 났었다.
- 다른 분들은 어플리케이션에 웹 서버의 포트 번호를 따로 지정했다가 오류가 난 걸 봤다.
- 기타
- 옵션+커맨드+i 단축키로 개발자도구-네트워크 확인해서 통신 내역 보기!
- API restDocs 만들기
- 오늘 결국 마지막에 getMembers() 통과 못 해서 완성 못 했다 ㅠㅠ
- 하면서 온갖 에러를 만났고,, 아래는 참고한 사이트들.
- 사용법
- DTO 유효성 검사 constraints 문서화 하기
- 만난 에러들
<느낀 점>
뭔가 슥슥 따라해서 금방 끝날 것 같았는데, 생각보다 많은 사람들이 헤맸던 날이었다.
더 도움이 되고 싶었지만, 나는 그저 말하는 옥수수였고, 별 도움이 되지 못 한 것 같아 죄송스,,
오늘도 이 늦은 시간까지 열심히 달렸다.
불금이었다.
API 문서화 약간 극혐이네,,