Skip to content

chore: aws CI/CD를 추가한다. (#198) #25

chore: aws CI/CD를 추가한다. (#198)

chore: aws CI/CD를 추가한다. (#198) #25

Workflow file for this run

name: AWS Deploy
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout source code.
uses: actions/checkout@v3
- name: Check Node v
run: node -v
- name: Create env file
run: |
echo "VITE_BACK_URL=${{ secrets.VITE_BACK_URL }}" >> .env
echo "VITE_BASE_URL= ${{ secrets.VITE_BASE_URL }}" >> .env
echo "VITE_GOOGLE_CLIENT_ID=${{ secrets.VITE_GOOGLE_CLIENT_ID }}" >> .env
echo "VITE_KAKAO_KEY=${{ secrets.VITE_KAKAO_KEY }}" >> .env
echo "VITE_KAKAO_REST_API=${{ secrets.VITE_KAKAO_REST_API }}" >> .env
echo "VITE_NAVER_CLIENT_ID=${{ secrets.VITE_NAVER_CLIENT_ID }}" >> .env
echo "VITE_NAVER_CLIENT_KEY=${{ secrets.VITE_NAVER_CLIENT_KEY }}" >> .env
- name: Install Dependencies
run: npm install
- name: Build
run: npm run build
env:
CI: ""
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_S3_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY_ID }}
aws-region: ap-northeast-2
- name: Upload to S3
env:
BUCKET_NAME: ${{ secrets.AWS_S3_BUCKET_NAME}}
run: |
aws s3 sync \
./dist s3://$BUCKET_NAME
- name: CloudFront Invalidation
env:
CLOUD_FRONT_ID: ${{ secrets.AWS_CLOUDFRONT_ID}}
run: |
aws cloudfront create-invalidation \
--distribution-id $CLOUD_FRONT_ID --paths /*