Update service-deploy.yaml #10
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Front Deployment | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
name: react build & deploy | |
runs-on: ubuntu-latest | |
steps: | |
# 레포지토리에 접근하여 CI 서버로 코드를 내려받는 과정입니다. | |
- name: checkout Github Action | |
uses: actions/checkout@v3 | |
# yarn 캐시 디렉토리를 수동으로 설정합니다. | |
- name: Setup yarn cache directory | |
run: echo "YARN_CACHE_DIR=$(yarn cache dir)" >> $GITHUB_ENV | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ env.YARN_CACHE_DIR }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: install yarn service dir | |
working-directory: ./service | |
run: yarn install --frozen-lockfile | |
- name: yarn build service dir | |
working-directory: ./service | |
run: yarn build | |
# AWS에 접근하기 위한 권한을 받아옵니다. | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
role-to-assume: ${{ secrets.AWS_ARN }} | |
aws-region: ${{ secrets.AWS_DEFAULT_REGION }} | |
# S3에 build 파일을 올립니다. | |
- name: Upload to S3 | |
env: | |
BUCKET_NAME: ${{ secrets.AWS_S3_BUCKET_NAME_A }} | |
run: | | |
aws s3 sync ./service/build s3://$BUCKET_NAME --delete | |
# CloudFront 캐시 무효화 | |
- name: CloudFront Invalidation | |
env: | |
CLOUD_FRONT_ID: ${{ secrets.AWS_CLOUDFRONT_ID_A }} | |
run: | | |
aws cloudfront create-invalidation --distribution-id $CLOUD_FRONT_ID --paths "/*" |