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 |