1. Github Action이란?

  • Git Action은 Github에서 제공하는 배포 서비스 (서버에 소스를 배포하는 서비스)
  • 비슷한 서비스 :  Gitlab, Bitbucket 등
  • GIthub가 MS에 인수되면서 기존의 소스저장소의 기능에서 DevOps플랫폼으로 으로 발전하고 있어요.

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

 

2. 사용법

  • IAM 사용자에 CloudFront 권한 추가 (AWS - 사용자 - 권한)
    • Github 레파지토리 생성 후 파이참에 연동(클론)

권한 추가 완료 된 이미지

  • .github/workflows/main.yml 생성

파일 구조

  • 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
  • Github Setting  (레파지토리 - Settings - Secrets - Action - New repository secret)

 * BUCKET_NAME : S3의 버킷 네임

 * DISTRIBUTION_ID : CloudFront의 배포 ID

 

  • 세팅 후 파이참에서 github로 push하면 github Action에서 build 확인 가능

상세페이지

* 상세페이지에서 실패한 빌드에대해 re-run 할 수 있다.

  • 참조 문서 
    • Github Action 공식 문서 : https://docs.github.com/en/actions
    • Github marketplace Action cloudfron 문서 :  https://github.com/marketplace?type=actions&query=cloudfront  (Invalidate AWS CloudFront 문서 참조)

 

빌드 관련 에러

2022.04.26 - [프로그래밍/개발이슈] - AWS_SECRET_ACCESS_KEY 에러 (github action 자동배포 설정)

'프로그래밍 > Git' 카테고리의 다른 글

Github Action을 이용한 배포 자동화2 (with EB)  (0) 2022.04.26
Git 이란?  (0) 2022.04.23
gitignore란?  (0) 2022.04.23

+ Recent posts