-
Notifications
You must be signed in to change notification settings - Fork 6
87 lines (73 loc) · 2.43 KB
/
frontend-dev-cd.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name: ✨ Celuveat frontend DEV CD ✨
on:
push:
branches:
- develop-frontend*
jobs:
build:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: ./frontend
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
steps:
- name: ✨ Checkout repository
uses: actions/checkout@v3
- name: ✨ Node.js 설정
uses: actions/setup-node@v3
with:
node-version: 18.16.1
- name: ✨ Yarn global cache 캐싱
uses: actions/cache@v3
with:
path: '**/.yarn'
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: ✨ Yarn project cache 캐싱
uses: actions/cache@v3
with:
path: '~/.yarn/cache'
key: ${{ runner.os }}-yarn-project-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: 환경변수 설정
run: |
echo "BASE_URL=$BASE_URL" >> .dev.env
echo "GOOGLE_MAP_API_KEY=$GOOGLE_MAP_API_KEY" >> .dev.env
echo "SHARE_KAKAO_LINK_KEY=$SHARE_KAKAO_LINK_KEY" >> .dev.env
env:
BASE_URL: ${{secrets.DEV_BASE_URL}}
GOOGLE_MAP_API_KEY: ${{secrets.GOOGLE_MAP_API_KEY}}
SHARE_KAKAO_LINK_KEY: ${{secrets.SHARE_KAKAO_LINK_KEY}}
- name: ✨ 의존성 설치
run: rm -rf ./node_modules yarn.lock && yarn cache clean && yarn install
- name: ✨ 빌드
run: yarn build:dev
- name: ✨ artifact로 빌드파일 다운로드 가능하게 만들기
uses: actions/upload-artifact@v3
with:
name: dev-dist
path: frontend/dist
# deploy:
# needs: build
# runs-on: [self-hosted, dev]
# steps:
# - name: ✨ 기존 폴더 삭제
# working-directory: .
# run: rm -rf dev
# - name: ✨ artifact로부터 EC2에 빌드결과물 다운로드
# uses: actions/download-artifact@v3
# with:
# name: dev-dist
# path: dev/dist
# - name: ✨ S3 업로드
# run: |
# aws s3 sync dev ${{secrets.S3_FRONT_END_DEV_URI}} --delete
# - name: ✨ 캐시 무효화
# run: |
# aws cloudfront create-invalidation \
# --distribution-id ${{ secrets.CLOUDFRONT_CELUVEAT_DEV_ID }} \
# --paths "/*"