๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฐฉ์ ์์๋ณด๊ธฐ ์ , ์์น ๊ฐ์ด๋๋ผ์ธ์ ์ ๊ณตํ๋ ์ฃผ๊ฑฐ ์ง์ญ ํ๋ ์ด์ ์๋น์ค
- ๊ธฐํ์ : ์์ ํ(PM)
- ๋์์ด๋ : ์ฅ์ฌ์
- ๊ฐ๋ฐ์ : ๋ ธ์์ง(FE), ์๊ดํธ(FE), ์ด์ก์,(FE) ์ ์ํฌ(BE), ํ์งํธ(BE)
-
ํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ก์ปฌ์ ์์น์ํจ ํ ํ๋ก์ ํธ ์ต์์ ๊ฒฝ๋ก์์ ์๋ ๋ช ๋ น์ด ์คํ
npm install npm run start #server ์คํ npm run test #Jest ๊ธฐ๋ฐ ํ ์คํธ ์คํ npm run test:watch #Jest ๊ธฐ๋ฐ ํ ์คํธ ๊ฒฐ๊ณผ๋ง ์ถ๋ ฅ
-
localhost:3000์ผ๋ก ์ ์ํ์ฌ ๊ฒฐ๊ณผ ํ์ธ
- React.js, Typescript
- Redux-saga, axios, SASS, Styled-Components
- Webpack
- Jest, RTL(React Testing Library)
Git Flow๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋ธ๋์น๋ฅผ ๊ด๋ฆฌํ๋ค.
- master : ๋ฐฐํฌ ๋ฒ์ ์์ค(release๋ธ๋์น๋ฅผ ํตํด์๋ง merge)
- develop : ๊ฐ๋ฐ ์๋ฃ๋ ์์ค(master๋ธ๋์น์์ ๋ถ๋ฆฌ)
- feature/{๊ธฐ๋ฅ} : ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ(develop์์ ๋ถ๋ฆฌ๋๋ฉฐ ์๋ฃ ์ develop์ PR)
- release : ๋ฐฐํฌ ์ ๋ธ๋์น(develop์์ ๋ถ๋ฆฌ)
- ๊ฐ๋ฐ ์งํ ์ develop์์ ๋ธ๋์น๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ธฐ๋ฅ์์ ํ develop์ ๋ณํฉ์ ์ํํ๋ค.
- ๋ฐฐํฌ ์ Test๋ฅผ ์ํด release๋ธ๋์น๋ฅผ ๋ถ๋ฆฌํ๋ฉฐ Bug์ ๋ํ์ฌ release์์ ์์ ํ master, develop๋ธ๋์น 2๊ตฐ๋ฐ์ ๋ณํฉํ๋ค.
TDD ๋ฐฉ๋ฒ๋ก ์ ์ฌ์ฉํ์ฌ ํ
์คํธ์ผ์ด์ค ์์ฑ->๊ตฌํ->ํ
์คํธ์ผ์ด์ค ์์ ->์ฝ๋ ์์
๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ๊ฐ๋ฐ์ ์งํํ๋ค.
์ง์์ ์ธ ์ ๊ณต ๋ฐ ๋ฐฐํฌ๋ฅผ ์ํ์ฌ CI/CD๋ฅผ ์ฌ์ฉํ๋ค.
์ฌ์ฉ๊ธฐ์ : git-hook(husky), github Action, Docker, Google Cloud
- ๊ฐ๋ฐ์๊ฐ ๋ธ๋์น์ Push์ ๋ก์ปฌ์์ test๋ฅผ ์งํํ์ฌ ์ฑ๊ณต ์ pushํ๋ค.(git-hook)
- feature/{๊ธฐ๋ฅ} -> develop ๋ธ๋์น์ PR์ unit test๋ฅผ ์งํํ๋ฉฐ ์ฑ๊ณต ์ PR์ ์งํํ๋ค.(github Action)
- release -> master ๋ธ๋์น์ PR์ unit test ์ํ ํ ์ฑ๊ณต ์ PR์ ์งํํ๋ค.(github Action)
- master ๋ธ๋์น์ PR์๋ฃ ์ npm build, dockerize ์ํ ํ Google Cloud์ ๋ฐฐํฌํ๋ค.(github Aciont, Docker, Google Cloud)
- Cloud์์ reverse proxy server๋ฅผ ์ฌ์ฉํ์ฌ load balancer๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌด์ค๋จ์ผ๋ก ๋ฐฐํฌํ๋ค.