-
Notifications
You must be signed in to change notification settings - Fork 0
46 lines (37 loc) · 1.63 KB
/
deploy.yml
File metadata and controls
46 lines (37 loc) · 1.63 KB
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
name: main
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Git Checkout # Git Checkout
uses: actions/checkout@v3
- name: Check Node v # 노드 버전 확인.
run: node -v
- name: Install Dependencies # 의존성 설치
run: yarn install --frozen-lockfile
- name: Build # 빌드
run: yarn prepare && yarn build
- name: Create zip # S3에 업로드할 zip 파일 생성
run: zip -qq -r ./build.zip .
shell: bash
# -qq: quit 모드로 실행 (에러나 경고메세지만 출력하도록 함)
# -r: 지정된 디렉토리를 재귀적으로 압축 (하위 디렉토리와 파일들 모두 압축)
- name: Configure AWS credentials # AWS 인증 확인
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name: Upload to S3 # zip 파일을 S3에 업로드
run: |
aws s3 cp --region ap-northeast-2 ./build.zip s3://samik-beach/build.zip
- name: Code Deploy # S3에 올라간 zip 파일을 CodeDeploy로 가져옴
run: aws deploy create-deployment
--application-name samik-beach
--deployment-config-name CodeDeployDefault.AllAtOnce
--deployment-group-name samik-beach
--s3-location bucket=samik-beach,key=build.zip,bundleType=zip # Code Deploy가 S3에서 프로젝트를 찾을 수 있도록 경로 지정. (bucket=버킷 이름/test-build.zip)