본문 바로가기
Spring

[SpringBoot & AWS] SpringBoot프로젝트 Travis CI, AWS S3, AWS CodeDeploy 배포 오류

by 개발하는 지토 2020. 7. 2.

최근에 구매한 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'를 읽으며 실습을 진행 중에 만나게 된 오류에 대해 남겨 놓으려고 한다.

 

오류가 발생한 과정은..

 

이전에는 SpringBoot프로젝트를 깃허브에 올리고 AWS EC2 인스턴스에서 깃허브에서 코드를 내려받고, 작성한 스크립트로 빌드, 배포까지 되도록 구현을 했었다. 물론 성공해서 배포까지 되는 걸 확인한 상태였다.

 

그리고 이번엔 Travis CI를 사용해서 배포 자동화를 구현하고 있었다.

AWS의 S3까지 압축파일을 보내는 데까지 성공하고 AWS의 CodeDeploy에서 배포 그룹을 만들어서 진행을 해봤다.

 

인텔리제이에서 소스를 작성하고 깃허브로 푸시하면 자동으로 빌드, 배포를 진행하도록 만든 것이었는데 오류를 만났다.

 

오류

 

Travis CI의 log - failed to deploy

이러한 메시지를 띄우고 failed to deploy를 뱉었다.

 

작성한 스크립트에 문제가 있나 해서 고치고 또 고치면서 테스트를 했지만 변함없이 빨간 X 만 보게 되었다.

 

AWS CodeDeploy 배포내역 - 실패

 

그러던 중 AWS의 CodeDeploy에서 설정값을 잘못 입력했나 해서 확인을 해봤다.

 

그래, 바로 여기야!!!

AWS CodeDeploy 환경구성 - 잘못된 방법

환경 구성을 설정하는 부분에서 태그 그룹의 키 값을 내가 원하는 키값을 넣었는데 이렇게 작성을 하니 EC2 인스턴스를 찾지 못하는 것 같았다. 그래서 결국 기본값으로 바꾸고 진행을 해보도록 했다.

 

AWS CodeDeploy 환경구성 - 옳은 방법

이런 식으로 키값을 입력하니까 인스턴스를 찾을 수 있었고, 이 상태로 실패했던 배포를 재배포하였더니!!

AWS CodeDeploy 배포 내역 - 성공

초록불을 볼 수 있었다!! 감격ㅠㅠ

 

이제 마지막으로 남은 엔진엑스를 이용한 무중단 배포 환경을 구성해보려 한다!

 

전체적인 무중단 자동화 배포까지 완료를 하고 익히게 되면 앞으로 어떤 웹을 만들어서 배포해볼지 고민을 해봐야겠다.

 

두근두근!

 

더보기

Version 2 of the Ruby SDK will enter maintenance mode as of November 20, 2020. To continue receiving service updates and new features, please upgrade to Version 3. More information can be found here: https://aws.amazon.com/blogs/developer/deprecation-schedule-for-aws-sdk-for-ruby-v2/

Triggered deployment "d-J8Q21TH74".

Deployment failed.

dpl.2

Preparing deploy

 

dpl.3

Deploying application

Deploying .

 

failed to deploy

댓글