GitHub Action Flow (S3,EC2)

supway·2023년 2월 27일
0
post-thumbnail

이번에 project를 하는데 수동으로 Winscp를 통해 Application을 배포하다보니 번거로움이 많이 느껴져 GitHub Action Flow를 이용해서 CI/CD 구축하였는데, 전체적인 과정을 이해하기 위해 작성

GihHub Action Flow

  1. 소스 코드를 GitHub에 push(trigger 임의로 설정)시 설정한 workflow가 실행

  2. workflow에서 Gradle build를 실행하여 Application 빌드하고 S3 버킷에 업로드

  3. CodeDeploy를 통해 S3 버킷에서 EC2 인스턴스로 배포 후 Application 실행

GitHub Action 이란?

=> Github에서 제공하는 CI/CD 툴로 Github 레포지토리 안에서 실행되며, Github이 제공하는 클라우드 환경에서 코드를 실행 가능하다.
이를 통해 사용자는 서버나 인프라를 구성할 필요 없이, 더욱 간편하게 CI/CD 파이프라인을 구축할 수 있다.

Amazon S3 이란?

=> Amazon Web Services (AWS)에서 제공하는 객체 스토리지 서비스로 S3는 데이터를 저장하고 검색하는 데 사용되며, 데이터 저장에 필요한 인프라를 운영 및 관리할 필요가 없음
즉, 데이터 저장소라고 보면 되는데 Github Action으로 바로 EC2에 서버를 배포할 수 없어 S3를 거쳐서 Application을 저장 한 후 EC2에 배포 해야 한다.

그럼 GitHub Action에서 바로 EC2에 배포하지 않고 S3를 거쳐 배포하는 이유는 무엇일까?
=> 보안상의 문제도 있고, 배포 중에 문제가 생기면 Application 자체에 문제가 발생할 수 있기 때문이다. 중간 과정을 거치면서 보안 및 안정성을 확보하기 위함이다!

CodeDeploy 이란?

=> AWS CodeDeploy는 Amazon Web Services (AWS)에서 제공하는 서비스 중 하나로, 애플리케이션의 배포 자동화를 지원하는 배포 서비스
이름 그대로 EC2, Lambda, ECS등 다양한 컴퓨팅 서비스에 대한 배포를 지원하는 것이라고 보면 된다. S3에 있는 Application을 EC2로 배포하고 실행하게 한다

profile
개발잘하고싶은사람

0개의 댓글