docker-compose up -d
์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด docker image ์์ฑ ํ ์ปจํ ์ด๋๋ฅผ ์์ฑํฉ๋๋ค.
docker-compose down
์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ์ปจํ ์ด๋๋ฅผ ์ญ์ ํฉ๋๋ค.
client, service ๊ฐ์ HTTP ์์ฒญ ๋ฐ ์๋ต์ ์ค๊ณํฉ๋๋ค.
- Todo service, Mock service๋ API Gateway๋ฅผ ํตํด์๋ง ์ ์์ด ๊ฐ๋ฅํฉ๋๋ค.
- RESTful API๋ฅผ ์ ๊ณตํฉ๋๋ค.
- node:v14.16.1
- npm
- nest.js
- vscode
๊ฐ๋ฐ PC์์ ์ฌ๋ฌ node ์คํ ํ๊ฒฝ์ ๊ตฌ๋ถ์ง์ด ๊ตฌ๋ํ ์ ์๋ ํ๋ก๊ทธ๋จ์
๋๋ค.
๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ์ ํ๋๋ฐ ์ฌ์ฉํ ๊ฒ์ด๋ฉฐ, ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ํ์์ node, npm ๊ด๋ จ ๋ฐ์ด๋๋ฆฌ ํ์ผ ๋ฑ์ ์์ฑํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค.
๊ณต์ ๋งํฌ
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
๊ณต์ git repository๋ฅผ cloneํฉ๋๋ค.
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc
Linux PATH์ ๋ฐฉ๊ธ git cloneํ repository์ ๋ช
๋ น์ด๋ฅผ ๋ฑ๋กํฉ๋๋ค.
์์ ์ ์ํํ๋ ํฐ๋ฏธ๋ ์ฐฝ์ ๋ซ๊ณ ์๋ก์ด ํฐ๋ฏธ๋ ์ฐฝ์ ์ด์ด์ค๋๋ค.
brew install nodeenv
๋ช
๋ น์ ์
๋ ฅํด์ ์ค์นํฉ๋๋ค.
- .env.dev ํ์ผ ๋ด๋ถ๋ฅผ ์ด์ด ๊ฐ ์๋น์ค๋ค์ HTTP listen port ํ๊ฒฝ์ ์ค์ ํฉ๋๋ค.
- API gateway service์ HTTP listen port
- OAuth service์ HTTP listen port
- Mock service์ HTTP listen port
- Todo service์ HTTP listen port
- Storage service์ HTTP listen port
- ๊ฐ service์ HTTP ์์ฒญ์ ๋ณด๋ด์ service๊ฐ ์คํ ๋๊ณ ์์์ ํ์ธํฉ๋๋ค.
nodeenv --node=14.16.1 env-14.16.1
๋ช ๋ น์ ์คํํด์ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๋ด๋ถ์node
,npm
์คํ ํ๊ฒฝ์ ์์ฑํฉ๋๋ค.- VSCode ๋๋ฒ๊ทธ ์ฐฝ ๋ด๋ถ์ ์๋ NestJS start ๋ฒํผ์ ๋๋ฌ ์์ํฉ๋๋ค.
- README.md ํ์ผ ๋ด ํ๊ฒฝ ๋ณ์ ํ๋ฅผ ์ฐธ๊ณ ํด API gateway service๊ฐ ๊ตฌ๋๋ ์๋ฒ์ ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค.
npm i && npm run start:prod
๋ช ๋ น์ ์ด์ฉํด์ API service๋ฅผ ์์ํฉ๋๋ค.
๊ตฌ์ฑ ์์ | ์ค๋ช |
---|---|
Variable | ํ๊ฒฝ ๋ณ์ ์ด๋ฆ |
dev | ํ๊ฒฝ ๋ณ์๊ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋์ง ์ฌ๋ถ |
qa/prod | ํ๊ฒฝ ๋ณ์๊ฐ qa, production ํ๊ฒฝ์์ ์ฌ์ฉ๋๋์ง ์ฌ๋ถ |
Default value | ์์คํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํด ํ๊ฒฝ ๋ณ์๋ฅผ ์ ํ์ง ์์์ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฉ๋๋ ๊ฐ |
Example | ํ๊ฒฝ ๋ณ์ ๊ฐ์ผ๋ก ๋ค์ด๊ฐ ์ ์๋ ์์์ ๋์ด |
Explanation | ํ๊ฒฝ ๋ณ์์ ๋ํ ์ค๋ช |
Variable | dev | qa/prod | Default value | Example | Explanation |
---|---|---|---|---|---|
NODE_ENV | โ | โ | development, docker, production | NodeJS ์คํ ํ๊ฒฝ ์ ์ค์ ํ๋ ๊ฐ์ผ๋ก, ๋ฏธ๋ฆฌ ์ ์ธํ npm ์คํฌ๋ฆฝํธ๋ก ๊ฐ์ด ์ค์ ๋ฉ๋๋ค. |
|
STAGES | ๐ซ | โ | qa, prod | k8s์์ ์คํ ํ๊ฒฝ์ ๋ง๋ svc๋ฅผ ์ฐ๊ฒฐ ๋ฐ ๋๋ฒ๊น
์ ์ํด ์ฌ์ฉ๋๋ ๊ฐ์
๋๋ค. |
|
SERVER_PORT | โ | โ | 3000 | 3000 | API ์๋น์ค์ HTTP Listen port ๊ฐ์
๋๋ค. |
SERVER_PORT_OAUTH | โ | โ | 8080 | 8080, 3001 | JWT ์ธ์ฆ์ ์ํ OAuth ์๋น์ค์ ์ฐ๋์ ์ํ HTTP Listen port ๊ฐ์
๋๋ค. |
SERVER_PORT_MOCK | โ | โ | 3000 | 3000, 3002 | API ์๋น์ค์ ๊ตฌ๋์ ์ํ Mock ์๋น์ค์ HTTP Listen port ๊ฐ์
๋๋ค. |
SERVER_PORT_TODO | โ | โ | 3000โ๏ธ | 3000, 3003 | API ์๋น์ค ๊ตฌ๋์ ์ํ Todo ์๋น์ค์ HTTP Listen port ๊ฐ์
๋๋ค. |
SERVER_PORT_STORAGE | โ | โ | 8000 | 8000, 3004 | API ์๋น์ค ๊ตฌ๋์ ์ํ File ์๋น์ค์ HTTP Listen port ๊ฐ์
๋๋ค. |