AmazoneS3FullAccess
, CloudFrontFullAccess
를 선택한다.Settings
> Security
> Secrets and variables
로 이동해 New repository secret
을 클릭한다.AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
를 추가한다..github/workflows
디렉토리에 deploy.yml
파일을 생성한다.name: Main CI
on:
push:
branches:
- main
jobs:
push-to-s3:
name: Push to S3
runs-on: ubuntu-20.04
# 레포지토리에 접근하여 CI서버로 코드를 내려받음
steps:
- name: Checkout
uses: actions/checkout@v3
# 캐시 사용
- name: Cache dependencies
uses: actions/cache@v3
with:
path: |
./posts
key: ${{ runner.os }}-posts-${{ hashFiles('**/posts/**') }}
# aws에 접근하기 위한 권한 설정
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2
# s3에 파일 업로드
- name: Upload to S3
run: |
aws s3 sync \
./posts s3://promleeblog-cdn
# file path, s3 버킷 이름