๐ ๋ชฉ์ฐจ
1. Amazon IAM ์์ฑ
1. ์ฌ์ฉ์ ์ด๋ฆ, ์๊ฒฉ์ฆ๋ช ์ ํ ์ ํ
2. ๊ถํ ์ค์
๋๋จธ์ง๋ ๋ค์ ๋ค์ ๋๋ฌ์ ๋๊ฒจ์ฃผ์๋ฉด ๋ฉ๋๋ค.
์ฌ์ฉ์ ์ถ๊ฐ๊ฐ ์๋ฃ๋๋ฉด ํค๊ฐ ํฌํจ๋ csv๋ฅผ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค.
2. github secrets ์ธํ
๊นํ ํ๋ก์ ํธ๋ฅผ ์๋ก ์์ฑํ์ฌ ์์ ํ vue ํ๋ก์ ํธ๋ฅผ ์ ๋ก๋ ํฉ๋๋ค.
Settingsํญ > secrets > actions > New repository secret
์๊น S3์์ ์์ฑํ key id์ secret์ ๊ฐ๊ฐ AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY ์ด๋ฆ์ผ๋ก ๋ฑ๋กํฉ๋๋ค.
3. github workflows์ ์
ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์
.github/workflows ํด๋๋ฅผ ๋ง๋ค๊ณ ํ์์ deploy.yml ํ์ผ์ ์์ฑํด์ค๋๋ค.
name: Deploy
on:
push:
branches:
- [๋ธ๋์น๋ช
]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cache modules
uses: actions/cache@v1
id: yarn-cache
with:
path: node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-yarn-
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: yarn
- name: Build
run: yarn build
- name: Deploy
run: aws s3 sync ./dist s3://[๋ฒํท๋ช
]
branches: ์ชฝ์ workflow๋ฅผ ํธ๋ฆฌ๊ฑฐํ branch๋ฅผ ์ ์ํด์ฃผ์ธ์. ์ ๋ main๋ธ๋์น๋ก ํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋งจ ์๋์ S3 ๋ฒํท๋ช ์ ๋ณธ์ธ์ด ๋ง๋ ๋ฒํท ๋ช ์ผ๋ก ์์ ํด์ฃผ์ธ์.
์๋ก์ด ์ปค๋ฐ์ ํธ์ํ๋ฉด ์๋์ ๊ฐ์ด workflow๊ฐ ์คํ๋ฉ๋๋ค.
์น์ฌ์ดํธ์ ๋ฐฉ๋ฌธํด๋ณด๋ฉด ์์ ์ฌํญ์ด ์ ๋ฐ์๋๋๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.