Merge pull request #202 from softeerbootcamp4th/dev #44
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 | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
# 레포지토리에 접근하여 CI 서버로 코드를 내려받는 과정입니다. | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
# yarn의 캐시를 설정합니다. | |
- name: Cache Yarn dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
admin/.yarn/cache | |
admin/.yarn/build-state.yml | |
admin/.pnp.* | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies with Yarn | |
working-directory: ./admin | |
run: yarn install --immutable | |
- name: Build the project | |
working-directory: ./admin | |
run: yarn build | |
env: | |
VITE_SITE_URL: ${{ secrets.VITE_SITE_URL }} | |
VITE_ANOTHER_ENV: ${{ secrets.VITE_ANOTHER_ENV }} | |
- name: Echo test | |
run: echo ${{ secrets.AWS_ARN }} | |
# 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에 dist 파일을 올립니다. | |
- name: Upload to S3 | |
run: aws s3 sync ./admin/dist s3://${{ secrets.AWS_S3_BUCKET_NAME_B }} --delete | |
# CloudFront 캐시 무효화 | |
- name: CloudFront Invalidation | |
run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_ID_B }} --paths "/*" |