Skip to content

Commit

Permalink
feature: 리액트 앱 CI 스크립트 작성 (#211)
Browse files Browse the repository at this point in the history
* chore: react-deploy 초안 작성

* chore: 경로 끝에 / 추가

* chore: 옵션 추가

* chore: sync로 변경

* chore: cp로 변경

* chore: --recursive 추가

* chore: awact/s3-action@master 액션으로 변경

* chore: CloudFront 캐시 날리는 스크립트 추가

* chore: 테스트용 콘솔 출력 추가

* chore: .env 파일 생성후 web 디렉토리로 이동

* chore: 리액트 CI 브랜치 대상 main으로 변경
  • Loading branch information
bbearcookie committed Nov 5, 2023
1 parent 0d2abb4 commit e94c962
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/react-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: React App CI/CD

on:
push:
branches: ['main']

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18.x

- name: Setting .env
run: |
echo "NODE_ENV=${{ secrets.NODE_ENV }}" >> .env
echo "VITE_API_ENDPOINT=${{ secrets.VITE_API_ENDPOINT }}" >> .env
echo "VITE_SLACK_API_ENDPOINT=${{ secrets.VITE_SLACK_API_ENDPOINT }}" >> .env
echo "VITE_CHANNEL_ID=${{ secrets.VITE_CHANNEL_ID }}" >> .env
echo "VITE_SLACK_ID_DESCRIPTION=${{ secrets.VITE_SLACK_ID_DESCRIPTION }}" >> .env
mv .env packages/web/.env
cat packages/web/.env
- run: yarn
- run: yarn web build

- uses: awact/s3-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
SOURCE_DIR: './packages/web/dist'
AWS_REGION: 'ap-northeast-2'
AWS_S3_BUCKET: ${{ secrets.AWS_CLIENT_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_CLIENT_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_CLIENT_SECRET_KEY }}

- name: Invalidate CloudFront
uses: chetan/invalidate-cloudfront-action@v2
env:
DISTRIBUTION: ${{ secrets.AWS_CLIENT_CLOUDFRONT_ID }}
PATHS: '/*'
AWS_REGION: 'ap-northeast-2'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_CLIENT_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_CLIENT_SECRET_KEY }}

0 comments on commit e94c962

Please sign in to comment.