AWS

GitHub Action + S3 + CodeDeploy를 이용한 CI/CD (1/2)

Beekei 2021. 10. 8. 16:35
반응형

Github Action이란?

Github 저장소를 기반으로 소프트웨어 개발 Workflow를 자동화 할 수 있는 CI/CD 도구이다.

Workflow는 Github 저장소에서 발생하는 build, test, package, release, deploy 등 다양한 이벤트를 기반으로 직접 원하는 Workflow를 만들 수 있다.

Workflow는 Runners라고 불리는 Github에서 호스팅 하는 Linux, macOS, Windows 환경에서 실행된다.

Runners를 사용자가 직접 호스팅하는 환경에서 직접 구동시킬 수도 있다.(self-hosted runner)


AWS CodeDeploy란?

SourceCode를 운영환경에 자동 배포하는 AWS Service

EC2, ECS, Lambda등 여러가지에 배포가 가능하다.


CI/CD란?

CI (Continuous Integration)

지속적인 통합이라는 의미

어플리케이션의 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 Repository에 통합하는 것을 뜻한다.

버그를 신속하게 찾아 해결하고, 품질을 개선하고, 새로운 업데이트의 검증 및 Release 시간을 단축 시키기 위함

  • 형상관리(Git, SVN 등) 툴 사용
  • MSA 환경

CD (Continuous Delivery & Continuous Deployment)

지속적인 서비스 제공 혹은 지속적인 배포라는 의미

Continuous Delivery : 개발자의 변경 사항이 공유 Repository를 넘어, Continuous Deployment : 실제 고객의 Production 환경까지 Release 되는 것

소프트웨어가 언제든지 신뢰 가능한 수준의 버전을 유지할 수 있도록 support 하기 위함

서비스의 개발팀과 비즈니스팀 간의 커뮤니케이션 문제를 해결할 수 있다.


Github Action + AWS CodeDeploy CI/CD

  1. Git에서 이벤트가 일어나면 Github Action에서 test와 build 후 jar 파일을 S3에 업로드
  2. CodeDeploy에 배포를 요청
  3. CodeDeploy가 S3의 저장된 jar파일을 EC2 인스턴스에 배포(4)

이제 직접 구현해보자

 

GitHub Action + AWS CodeDeploy를 이용한 CI/CD (2/2)

앞서 GitHub Action, Aws CodeDeploy, CI/CD가 무엇인지 알아보았다. GitHub Action + AWS CodeDeploy를 이용한 CI/CD (1/2) Github Action이란? Github 저장소를 기반으로 소프트웨어 개발 Workflow를 자동화 할..

devbksheen.tistory.com

반응형