일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- pycharm
- 바이오데이터 엔지니어
- Python
- 클린 코드
- 프로그래머스 코딩 테스트 연습
- PostgreSQL
- Codeforces
- WPF
- 스코페2021
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 프로그래머스 월간 코드 챌린지
- PostgreSQL 설치 시 에러
- 프로그래머스 월간 코드 챌린지 시즌1
- heroku
- 애드센스
- git
- FastAPI
- c#
- 파이썬
- selenium
- 디자인 패턴
- github
- 브랜디
- 프로그래머스 코딩테스트 연습
- Firefox
- github actions
- terraform
- Spring Boot
- Word Cloud
- 프로그래머스 코딩테스트 연습문제
- Today
- Total
프로그래밍 연습하기
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 -8장,9장- 본문
8장, 9장에서는 배포를 하고 배포를 자동화하였다.
이전까지의 과정은 디테일에서는 좀 차이가 있지만
내가 개인 프로젝트를 하면서 어느정도 경험해본 부분이었다.
여기서부터는 처음 경험해보는 것이라 신기하고 낯선 부분이 많았다.
CI (Continuous Integration) / CD (Continuous Deployment) 라고 하는 개념을 직접 실습해보면서
어느정도 감을 잡을 수 있게 되었다.
이렇게 내가 겪어보지 않은 과정이 있다는 것이 책을 구매한 이유 중 하나이기도 했다.
이 단계에서는 리눅스 환경과 쉘 스크립트도 사용을 했는데 전공 수업때 어느정도 해본 경험이 있었다.
그렇게 낯설지는 않아서 크게 어렵지 않게 진행할 수 있었다.
Github에 푸쉬를 하면 Travis CI가 AWS S3에 jar를 전달하고
Travis CI는 CodeDeploy에 배포 요청을 해서
CodeDeploy가 S3에서 파일을 받아와 EC2에 배포하고 서버가 돌아가게 된다.
8장에서는 EC2에 Github를 통해 애플리케이션을 받고 실행하는데 에러가 났었다.
test환경에서의 프로퍼티를 넣지 않아서 인것 같다.
그리고 EC2에서의 DB설정까지 하고 다시 실행을 해봤는데 메모리 에러가 뜨면서 실행이 안됬다.
이건 일시적인 문제 같아서 다시 실행해보니 제대로 돌아가는 것을 확인할 수 있었다.
이외에도 오타로 인한 에러도 여전히 발생했다.
9장에서는 gredlew의 실행 권한이 없어 배포 중 에러가 났다.
저자의 깃허브 이슈에도 올라온 에러였다.
gredlew에 실행 권한을 줘서 해결할 수 있다.
github.com/jojoldu/freelec-springboot2-webservice/issues/75
그리고 Travis-CI에서 에러가 발생한 적이 또 있다.
아래 이슈와 같은 내용은 아니지만, 나 역시 오타를 내서 발생한 에러였다.
github.com/jojoldu/freelec-springboot2-webservice/issues/296
최종적으로 변경해서 버전업 하고 배포를 해봤는데,
테스트를 통과 못하게 변경을 하는 바람에 Travis-ci에서 중단되는 것을 확인했다.
이후 테스트를 통과할 수 있게 변경했는데
막상 서버에 접속해보니까 구 버전이 여전히 실행 중이었다.
EC2 서버에 접속해서 무엇이 실행되고 있나 확인해보니
배포한 것을 실행하는 쉘 스크립트에 오타가 있어서 기존 서버가 계속 돌아가는 문제가 있었다.
수정하고 다시 확인해보니 새로운 버전으로 서버가 돌아가는 것을 확인할 수 있었다.
'Spring Boot' 카테고리의 다른 글
기존 프로젝트에 댓글 기능 추가 (0) | 2020.07.16 |
---|---|
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 -10장- (0) | 2020.07.14 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 -6장,7장- (0) | 2020.07.13 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 -5장- (0) | 2020.07.12 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 -4장- (0) | 2020.07.11 |