GitHub Actions + AWS

preiner
Aug 23, 2021

--

GitHub Actions

원래 GitLab CI/CD를 사용했었는데

GitLab 파이프라인 시간제한

위에서 보다시피 시간제한이 생겼다.
그래서 비슷한 기능을 찾다보니 GitHub에도 동일한 기능이 있었다.
그럼 GitHub Actions를 살펴보도록 하자.

  • 원리

Git, Gitlab 같은 서비스에서 인프라에 배포를 지원한다.
배포는 서비스들의 내부에서 도커 컨테이너를 이용해서 배포하는 방식이다.
이제 예전처럼 배포서버를 만들고 Jenkins를 설치할 필요가 없다.

  • 리포지토리 생성 + 파이프라인 파일생성
    GIT 리포지토리를 생성하고 GitAction 파일을 컷밋한다.
Action 파일 위치
  • AWS 시크릿 정보 저장
AWS IAM 사용자 생성
  • Git Secrets에 저장
Git Secret
  • IAM 권한 추가

AdministratorAccess라는 권한을 사용자에 부여해줘서
모든 AWS의 서비스에 연동해서 사용해도 되고,
연동되는 서비스마다 사용자를 만들어도 된다.

  • S3 정적파일 배포
  • CloudFront 캐쉬 삭제
  • Elasticbeanstalk 배포
  • Lambda Function 배포
  • 설정코드 문서

https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsuses

  • Workflows 설정 코드 예시

https://github.com/marketplace

Marketplace

--

--