전체글236 [Travis CI] 코드가 푸시되면 자동으로 배포하기 3 - Travis CI와 AWS S3 연동하기 S3란 AWS에서 제공하는 일종의 파일 서버입니다. 이미지 파일을 비롯한 정적 파일들을 관리하거나 지금 진행하는 것처럼 배포 파일들을 관리하는 등의 기능을 지원합니다. 보통 이미지 업로드를 구현한다면 이 S3를 이용하여 구현하는 경우가 많습니다. S3를 비롯한 AWS 서비스와 Travis CI를 연동하게 되면 전체 구조는 다음과 같습니다. 첫 번째 단계로 Travis CI와 S3를 연동하겠습니다. 실제 배포는 AWS CodeDeploy라는 서비스를 이용합니다. 하지만, S3 연동이 먼저 필요한 이유는 Jar 파일을 전달하기 위해서입니다. CodeDeploy는 저장 기능이 없습니다. 그래서 Travis CI가 빌드한 결과물을 받아서 CodeDeploy가 가져갈 수 있도록 보관할 수 있는 공간이 필요합니다... 2021. 7. 18. [Travis CI] 코드가 푸시되면 자동으로 배포하기 2 - Travis CI 연동하기 Travis CI는 깃허브에서 제공하는 무료 CI 서비스입니다. 젠킨스와 같은 CI 도구도 있지만, 젠킨스는 설치형이기 때문에 이를 위한 EC2 인스턴스가 하나 더 필요합니다. AWS에서 Travis CI와 같이 CI 도구로 CodeBuild를 제공합니다. 하지만 빌드 시간만큼 요금이 부과되는 구조라 초기에 사용하기에는 부담스럽습니다. 실제 서비스되는 EC2, RDS, S3 외에는 비용 부분을 최소화하는 것이 좋습니다. Travis CI 웹 서비스 설정 https://travis-ci.com/ 에서 깃허브 계정으로 로그인을 한 뒤, github 연동을 활성화 합니다. 활성화한 저장소를 클릭하면 다음과 같이 저장소 빌드 히스토리 페이지로 이동합니다. 프로젝트 설정 Travis CI의 상세한 설정은 프로젝트.. 2021. 7. 18. [Travis CI] 코드가 푸시되면 자동으로 배포하기 1 - CI & CD 소개 24시간 365일 운영되는 서비스에서 배포 환경 구축은 필수 과제 중 하나입니다. 여러 개발자의 코드가 실시간으로 병합되고, 테스트가 수행되는 환경, master 브랜치가 푸시되면 배포가 자동으로 이루어지는 환경을 구축하지 않으면 실수할 여지가 너무나 많습니다. CI & CD 소개 앞의 글에서 스프링 부트 프로젝트를 EC2에 배포했습니다. 스크립트를 개발자가 직접 실행함으로써 발새하는 불편을 경험했습니다. 그래서 CI, CD 환경을 구축하여 이 과정을 개선해야 합니다. 코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH가 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포 파일을 만드는 과정을 CI(Continuous Integration - 지속적 통합)라고 하며, 이 빌드 결과를 .. 2021. 7. 15. [EC2] EC2 서버에 프로젝트 배포하기 5 - EC2에서 소셜 로그인하기 AWS 보안 그룹 변경 먼저 EC2에 스프링 부트 프로젝트가 8080 포트로 배포되었으니, 8080 포트가 보안 그룹에 열려 있는지 확인합니다. 8080이 열려 있다면 OK, 안 되어있다면 [Edit inbound rules] 버튼을 눌러 추가해 줍니다. AWS EC2 도메인으로 접속 왼쪽 사이드바의 [인스턴스] 메뉴를 클릭합니다. 본인이 생성한 EC2 인스턴스를 선택하면 다음과 같이 상세 정보에서 퍼블릭 DNS를 확인할 수 있습니다. 이 주소가 EC2에 자동으로 할당된 도메인입니다. 인터넷이 되는 장소 어디나 이 주소를 입력하면 우리 EC2 서버에 접근할 수 있습니다. 자 그럼 이제 도메인 주소에 8080포트를 붙여 브라우저에 입력합니다. 현재 상태에서는 해당 서비스에 EC2의 도메인을 등록하지 않았기.. 2021. 7. 15. 이전 1 ··· 39 40 41 42 43 44 45 ··· 59 다음