GitHub Action을 이용한 자동 배포 만들기

이민기·2022년 6월 18일
0
post-thumbnail

Git Action

Github에서 제공하는 배포 서비스
GIthub가 MS에 인수되면서 기존의 소스저장소의 기능에서 DevOps플랫폼
비슷한 서비스로는 Gitlab, Bitbucket등 있다.

요즘 트랜드는 CI/CD의 통합 이다. 소스저장소와 배포시스템을 통합하는 것 이다.
아키텍처의 변화로 작아진 어플리케이션들을 부담없이 자주 배포하기 위함.

그럼 GitHub Action 으로 한번 배포를 해보도록 하겠다.

I AM 권한 추가

AWS에서 'I AM' 이라고 검색해 보자.

IAM > 사용자 > 클릭

'권한 추가'를 클랙해 주자!

기존 정책 직접 연결로 'CloudFrontFullAccess' 로 권한을 주자.

권한이 등록되었는지 권한탭에서 확인해 보자.

Index.html , main.yml

테스트를 위해 index.html 과 mian.yml을 만들어야 한다.

./github/workflows/main.yml

상단 경로에 main.yml 파일을 만들어 주자.

name: my-front
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    env:
      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      AWS_REGION: 'ap-northeast-2'

    steps:
      - name: Checkout source code.
        uses: actions/checkout@master

      - name: Upload binary to S3 bucket
        uses: jakejarvis/s3-sync-action@master
        with:
          args: --acl public-read --exclude '*' --include 'index.html'
        env:
          AWS_S3_BUCKET: ${{ secrets.BUCKET_NAME }}

      - name: Invalidate cache CloudFront
        uses: chetan/invalidate-cloudfront-action@master
        env:
          DISTRIBUTION: ${{ secrets.DISTRIBUTION_ID }}
          PATHS: '/index.html'
        continue-on-error: true

name , branches 명을 변경후 커밋과 푸시를 진행하자.

GitHub 셋팅

AWS 연동 준비 - Settings > Secrets

ACCESS KEY , SECRET KEY , BUCKET NAME , DISTRIBUTION ID(클라우드 프론트 아이디)

해당값을 상단 변수로 모두 등록해 준다.

GitHub Repo 에 있는 Action 탭에 가시면 add가 정상으로 되어있다면 성공이다.

Cloud Front의 도메인으로 접속이 잘되는지 확인해 보자.

이것저것 변경해보고 잘 적용되는지 확인해 보자!

profile
지나가는사람

0개의 댓글