[AWS] Git Actions 저장소 세팅

👀·2024년 11월 27일

AWS값 Git 비밀 환경 변수 세팅

  1. 해당 저장소의 Settings > Secrets and variables 이동

  2. secret 생성

  3. AWS 비밀 환경 변수 설정
    IAM 엑세스 키 발급 방법
    AWS_ACCESS_KEY_ID : IAM 계정 생성시 발급받은 액세스 키
    AWS_SECRET_ACCESS_KEY : IAM 계정 생성시 발급받은 비밀 액세스 키
    AWS_REGION: S3를 세팅한 리전(지역)의 코드

S3_BUCKET_NAME: 빌드 산출물을 업로드할 S3 버킷 이름

CLOUDFRONT_DISTRIBUTION_ID: S3와 연결된 CloudFront 배포 ID
CloudFront대시보드의 해당 CloudFront 클릭

배포 워크 플로우 작성

  1. .github/workflows/deployment.yml 파일 생성
  2. 스크립트 추가
name: Test Deploy 

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Install dependencies
      run: npm ci

    - name: Build
      run: npm run build

    - 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: ${{ secrets.AWS_REGION }}

    - name: Deploy to S3
      run: |
        aws s3 sync out/ s3://${{ secrets.S3_BUCKET_NAME }} --delete

    - name: Invalidate CloudFront cache
      run: |
        aws cloudfront create-invalidation --distribution-id ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }} --paths "/*"

0개의 댓글