본문 바로가기

프로그래밍/스프링 부트와 AWS로 구현하는 웹서비스

9.3 Travis CI와 AWS S3 연동하기

S3란 AWS에서 제공하는 일종의 파일 서버입니다.

이미지파일을 비롯한 정적파일들을 관리하거나 현재 진행 중인 배포 파일들을 관리하는 등의 기능을 지원합니다.\

 

보통 이미지 업로드를 구현한다면 S3를 이용하여 구현하는 경우가 많습니다. 

 

실제 배포는 CodeDeploy라는 서비스 이용 하지만 S3연동이 먼저 필요한 이유는 Jar파일을 전달하기 위해서 입니다.

CodeDeploy에는 저장 기능이 없습니다. 그래서 Travis CI가 빌드한 결과물을 받아서 CodeDeploy가 가져갈 수 있도록

보관할 수 있는 공간인 AWS S3를 사용하게 됩니다.

 

  1. Travis CI와 S3를 연동
    • AWS Key 발급
      • AWS 서비스에 외부 서비스가 접근할 수 없기 때문에 접근 권한을 가진 Key를 생성합니다.
      • AWS 에서는 이러한 인증 관련된 기능을 제공하는 서비스로 IAM ( Identiy and Access Management )이 있습니다.
      • IAM을 통해 Travis CI가 AWS S3와 CodeDeploy에 접근하도록 합니다. (p. 329 참조)
    • Travis CI에 키 등록
      • p. 333 참조
    • S3 버킷 생성
      • P. 334 참조
    • .travis.yml 추가
      • Travis CI에서 빌드하여 만든 Jar파일을 S3에 올릴 수 있도록 .travis.yml 파일을 수정합니다.
      • p. 337 참조

설정을 완료한 뒤 깃 커밋, 푸시를 하게 되면

Travis CI가 자동으로 빌드가 진행되는 것을 확인하고, 모든 빌드가 성공하는지 확인합니다.

Done, Your build exited with 0. ( 성공했다는 로그)

 

그리고 S3 버킷을 가보면 업로드가 성공한 것을 확인할 수 있습니다.

 

Travis CI와 S3 연동 완료