-
Notifications
You must be signed in to change notification settings - Fork 5
MOAMOA Daily Sprint3
Donggyu edited this page Aug 5, 2022
·
33 revisions
- ๋ฆฌ๋ทฐ(ํ๊ธฐ) ์กฐํ (ํ์ด์ง X)
- ํ๊ทธ ์กฐํ
- ์คํฐ๋ ํํฐ๋ง
- ์คํฐ๋ ๋ํ ์ผ ํ์ด์ง
- ๋ก๊ทธ์ธ
- ์คํฐ๋ ๊ฐ์ค
- CI/CD (ํ์ด์ฌ)
- EC2 ๋ฐฐํฌ
- ํ๋ก ํธ๋ ์๋ ๋ฐฐํฌ ๋๊ฒ ์ธํ ํ ์ํ
- ์คํ๋ฆฐํธ 3-1์ ํ ์คํ ๋ฆฌ ๊ฒฐ์ ํ๊ณ , ํฌ์ธํธ ์ฐ์ถ
- ๋ฐฑ์๋: ์ฃผ๋ง๋์ ๋ฆฌํฉํ ๋ง ํ ๊ฑฐ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๊ฐ๋จํ ํ ๋ก
- ํ๋ก ํธ ์๋ ๋ฐฐํฌ ์๋
- ํผํผํฐ๋ฅผ ์ญํ ๋ถ๋ดํด์ ๋ด๋นํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. ๐ 1์ฃผ์ฐจ ๊ธ์์ผ๋ง๋ค ์ด๋ป๊ฒ ํ ์ง ์ ํ์.
- Jenkins
-
์ ์ฒด
- ์คํ๋ฆฐํธ 3-1 ์ ํ ์ฌ์ฉ์ ์คํ ๋ฆฌ ์ ๋ฆฌ ๋ฐ ์คํ ๋ฆฌ ํฌ์ธํธ ์ฐ์ถ
-
๋ฐฑ์๋
-
ํ๋ก ํธ
-
์คํฐ๋๋ฃธ
์ ๋ํ ํ์ ์งํ - ์ฝ๋๋ฆฌ๋ทฐ
- ์๋ ๋ฐฐํฌ (Github Actions & Node Express Server์ Bash script ๋ถ์ฌ์)
-
- ํ๋ก ํธ ์ฌ์ฉ์ ์คํ ๋ฆฌ ๋ด๋น์ ์ง์
- ๋ฐฑ์๋๋ API ๋ช ์ธ ๊ฒฐ์
-
Spring Scheduler
- ํน์ ์๊ฐ๊ณผ ์ฐ๊ด์๋ ํ ์คํธ๋ฅผ ์ด๋ป๊ฒ ํ ๊น?
-
@Scheduled
์ ๊ฐ์ด ํ๋ ์์ํฌ๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ฏฟ๊ณ ๊ฐ์ผํ์ง ์์๊น?
- ์ฐธ์ฌํ ์คํฐ๋ ๋ชฉ๋ก ์กฐํ
-
์คํฐ๋ ๋ชจ์ง ์ํ
๋ฅผ RECRUITMENT_START, RECRUITMENT_END -
์คํฐ๋ ์งํ ์ํ
๋ฅผ PREPARE, IN_PROGRESS, DONE ์ธ ๊ฐ์ง์ ์ํ๋ก ๊ฐ์ง๊ณ ๊ฐ๋ค.-
PREPARING
: ์คํฐ๋ ๋ชจ์ง ์ข ๋ฃ ์ดํ ์งํ ์ด์ ๊น์ง์ ์ํ -
IN_PROGRESS
: ์คํฐ๋ ์งํ ์ํ -
DONE
: ์คํฐ๋ ์ข ๋ฃ ์ํ
-
- ํ๋ก ํธ์์
RECRUITMENT_END
์ธ ๊ฒฝ์ฐ, ์คํฐ๋ ํ ํ๋ฉด์์ ๋ชจ์ง ์๋ฃ๋ก ๋ณด์ฌ ์ฃผ์ด์ผ ํ๋ค. -
์คํฐ๋ ์์ ์ / ํ๋ ์ค / ์ข
๋ฃ์ธ ๊ฒฝ์ฐ๋ฅผ ๋ฆฌ์คํธ๋ก ๊ฐ๊ฐ ๋๋ ์ ์๋ต์ ์ฃผ๋ ๊ฒ์ด ์ข์์ง ?
- ์ง๊ธ์ ์ ์ฒด๋ก ์กฐํ
- ๋์ค์ ํ์ด์ง ์ฒ๋ฆฌ๊ฐ ์ถ๊ฐ๋๋ค๋ฉด ๊ฐ ์ํ๋ณ๋ก API ํธ์ถ
-
- ๋ด๊ฐ ์ฐธ์ฌํ ์คํฐ๋ ์กฐํ ์ธ์ ํ
์คํธ, ์ปจํธ๋กค๋ฌ ํ
์คํธ
- DTO์ service, dao ๊ด๋ จ ๊ณ ๋ฏผ์ด ์์ด์ ํด๊ฒฐ ํ ์ค๋ ์์ ์์ฒญ
- recruit_status ๋ฆฌํฉํฐ๋ง ์๋ฃ
- ํ๊ธฐ์์ฑ ๊ธฐ๋ฅ ๊ตฌํ์ ํ๋๋ฐ ์ธ์ํ ์คํธ์ jwt ์ค๋ฅ ํด๊ฒฐ ํ์
- ํ๊ธฐ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ(์ํ๋ ๊ฐ์ ๋งํผ ๊ฐ์ ธ์ค๊ธฐ)
- PR Reivew ์์ -> Merge -> ๋ฐฐํฌ ์์
- sudo๋ฅผ ๋ถ์์๋ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ์์ธ ํ์
- ์ ๋ฐ์ ์ธ ๊ธฐ๋ฅ ๋ฐ UI ๋ฒ๊ทธ ํด๊ฒฐ
- ์คํฐ๋ ๋ชฉ๋ก ๊ฒ์์ ํ๊ทธ๋ฅผ ์ถ๊ฐ๋ก ๋ถ๋ฌ์จ๋ค
- ์คํฐ๋ ์์ฑ์ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์๋๋ ์ค๋ฅ ํด๊ฒฐ
- ํ ํฐ ๋ง๋ฃ ๋์์๋ ์๋ ๋ก๊ทธ์์ ๊ธฐ๋ฅ ๊ตฌํ
- ๋ด ์คํฐ๋ ๋ชฉ๋ก ์กฐํ ํ์ด์ง UI ๊ตฌํ
- [์ค์] 19:10 ~ 21:30 ํ๊ฑด ๋ฉ๋ฒ๋ฆญ
- ๋ชจ์ง ๋ง๊ฐ D-Day ๋ณด์ฌ์ฃผ๋๊ฑด ์ด๋จ๊น? -> ํ๋ฒ ๊ตฌํ ํด๋ณด์.
- ์๋ฒ์์ responseํ๋ json์ ๋น๋ฌธ์์ด์ null๋ก ๋ณํ
- ์คํ๋ง์ ์ค์ผ์ฅด๋ง(crontab)์ด ์ ์๋ํ๋์ง ์ด๋ป๊ฒ ํ ์คํธ ํด์ผํ ๊น
-
BE : ๋ด๊ฐ ์ฐธ์ฌํ ์คํฐ๋ ์กฐํ ๊ธฐ๋ฅ ์๋ฃ
-
BE : ์คํฐ๋ ์ฐธ์ฌ ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ (์ธ์ํ ์คํธ)
-
BE : ํ๊ธฐ ์์ฑํ๊ธฐ ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ
-
BE : ์ด์ ํด๊ฒฐ
-
@Scheduled(cron = "0 0 00 ** ?")
์ด๋ป๊ฒ ํ ์คํธํ ์ง ๊ณต๋ถ(๋ฒ ๋ฃจ์ค) -
FE : ์คํฐ๋ ๊ฐ์ค ํ์ด์ง ๊ฐ์
-
FE : ์คํฐ๋ ์์ฑ์ ์ ๋ ฅ๊ฐ์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ
-
participant(study_member ํ ์ด๋ธ) ์ owner(์คํฐ๋์ฅ)์ ํฌํจ X
- API ๋ณ๊ฒฝ X
- ๊ธฐ์กด ์๊ตฌ์ฌํญ ๊ทธ๋๋ก
- Front์์ API ์๋ต์ผ๋ก ์ฃผ๋ owner ๋ฅผ ์ด์ฉํด ์คํฐ๋์ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ
-
๋ฐฑ์๋
- ์ฝ๋ ๋ฆฌ๋ทฐ, ์ถฉ๋ ํด๊ฒฐ ๋ฐ
devleop
๋ธ๋์น์ Merge
- ์ฝ๋ ๋ฆฌ๋ทฐ, ์ถฉ๋ ํด๊ฒฐ ๋ฐ
-
ํ๋ก ํธ
- ๋ด๊ฐ ์ฐธ์ฌํ ์คํฐ๋ ๋ชฉ๋ก ํ์ด์ง UI ๊ตฌํ
-
์ํ๊ฐ์
- [์ค์] 19:10 ~ 21:30 ๊ต์ฅํ ๊ธฐ๋๊ฐ ๋์ด๋ฒ๋ฆฌ๋
ํ๊ฑด
- [์ค์] 19:10 ~ 21:30 ๊ต์ฅํ ๊ธฐ๋๊ฐ ๋์ด๋ฒ๋ฆฌ๋
- ๋ฐฑ์๋ ์ฝ๋ ๋ฆฌ๋ทฐ ์๋ฃ
- ์ฝ๋๋ฆฌ๋ทฐ์์ ๋์จ ์ฌํญ๋ค ๋ฐ์ํ ์ดํ Merge ํ ์์ (3๋ช Approve)
- ํ๋ก ํธ
- ์ฐธ์ฌํ ์คํฐ๋ ์กฐํ ๋ชฉ๋ก UI ์๋ฃ
- API ๋์ค๋ฉด ์ค์ ์๋ฒ์ ์ฐ๋ (QA)
- ๊ทธ๋ฆฐ๋ก : startDate ๋ง ๊ณ ์น๋ฉด ํผ๋๋ฐฑ ๋ค ๋ฐ์๋ ๊ฒ์
- ์งฑ๊ตฌ : ํ์๋ค ํผ๋๋ฐฑ ๋ด์ฃผ๊ธฐ,
์คํฐ๋ ๋ชฉ๋ก ๊ฒ์์ ํ๊ทธ๋ ๊ฐ์ด ๋ณด์ฌ์ค๋ค
- ๋ฒ ๋ฃจ์ค : ํผ๋๋ฐฑ ๋ฐ์, ์ค์ผ์ฅด๋ง ๊ณต์
- ๋์ฐ : ํ์๋ค Approve ๋๋ฉด ์ถฉ๋ ํด๊ฒฐํด์ Merge, HTTPS ํ์ต or ๋ก๊น ํ์ต
- ํ๋ก ํธ(๋ณ๋ฏผ, ํํ) : ์คํฐ๋ ์ฐธ์ฌ ๊ธฐ๋ฅ & ์คํฐ๋ ํ๊ธฐ ์์ฑ 2๊ฐ์ง ์์ ์งํ
- ๋ฐฑ์๋ ์ฝ๋๋ฆฌ๋ทฐ
- ๋ฆฌ๋ทฐ(ํ์์ค์์ ์์ ์ด ์ง ์ฝ๋ ๋งํ๊ธฐ) ์ ์ ์๋ก์ ์ฝ๋๋ฅผ ๋ค ๋ณด๊ณ ์ค๊ธฐ
- ์๋ฌธ์ฌํญ์ด๋ ํผ๋๋ฐฑ ์ฃผ๊ณ ์ถ์ ๋ด์ฉ ์ฝ๋ฉํธ ๋ฌ๊ธฐ
- ์๊ฑด์ด ์๊ฑฐ๋ ํ ๋ก ํ๊ณ ์ถ์ ๋ด์ฉ์ด ์๋ ๊ฒฝ์ฐ์ ํํด์ ์๋ก ๋ฆฌ๋ทฐ(ํ์์ค์์ ์์ ์ด ์ง ์ฝ๋ ๋งํ๋ฉด์ ์๊ฑด ์ด์ผ๊ธฐ)
- ๋ฆฌ๋ทฐ(ํ์์ค์์ ์์ ์ด ์ง ์ฝ๋ ๋งํ๊ธฐ) ์ ์ ์๋ก์ ์ฝ๋๋ฅผ ๋ค ๋ณด๊ณ ์ค๊ธฐ
- ๋ณ๋ฏผ : ์ด์ ์ํ ๋๋ฌด ์ฌ๋ฐ์๋ค.
- HTTPS
- ๋ก๊น
- Spring REST Docs
- ํ ์คํธ ์ฝ๋ ์์ฑ
- ์คํ ๋ฆฌ ํฌ์ธํธ ์ ์ฐ (์ ๋ฒ ์ฃผ)
- ์ด๋ฒ ์ฃผ์ ์งํํ ์ฌ์ฉ์ ์คํ ๋ฆฌ ์ ์ (1 ~ 2๊ฐ)
- ์ญํ ๋ถ๋ด
- ๋ฐฑ์๋ ์ฝ๋๋ฆฌ๋ทฐ
- ๋ฐฑ์๋ ์ฝ๋ ๋ฆฌ๋ทฐ
- ์ค์ผ์ฅด๋ฌ ๊ด๋ จ ๊ต์ก by ๋ฃจ์ค๋ฃจ์ค ๋ฒ ๋ฃจ์ค
- ์ปค์คํ ์ปค์ (์ฐ์ฃผ์ )
- ๋ฆฌ๋ทฐ ํ์ด์ง (๊ธฐ๋ฅ์์ฑ)
- ๋ฆฌํฉํ ๋ง ํ์
- HTTPS (๋์ฐ)
- REST Docs (์งฑ๊ตฌ)
- ๋ก๊น
(๊ทธ๋ฆฐ๋ก & ๋ฒ ๋ฃจ์ค)
- ์๋ฃ ์ฐพ๊ณ ์ ์ฉ
- ๋ฆฌ๋ทฐ ํ์ด์ง ์ฝ๋๋ฆฌ๋ทฐ
- ๋จธ์งํ๊ณ ๋์ QA ํด์ผํ ๊ฒ ํด๋ณด๊ธฐ
- ๋ด๊ฐ ์ฐธ์ฌํ ์คํฐ๋ ํ๊ธฐ ์์ฑ
- ์คํฐ๋ ์ฐธ์ฌ ๊ธฐ๋ฅ
- ์คํฐ๋ ๋ชจ์ง๊ธฐ๊ฐ์ด ์ง๋ ๊ฒฝ์ฐ ๋ชจ์ง ์๋ ์ข ๋ฃ
- Front HTTPS
๋ฐฑ์๋
- HTTPS
- ๋ก๊น ํ๋ก ํธ
- HTTPS
- ํ๊ธฐ ํ์ด์ง CRUD
- ํ๊ธฐ crud ๋ฐ ๋ฒ๊ทธ ์์ ๋ฐ ๋ฆฌํฉํ ๋ง - ๋จธ์ง๋ง ํ๋ฉด ๋จ
- QA ์คํ 3์์ฏค ์งํ
- REST DOCS ์ค์
- ํ์ํ API ์กฐ๊ธ์ฉ ์ถ๊ฐ
๋ฐฑ์๋
- HTTPS ์ ์ฉํ ๋ด์ฉ ์์ฑํ๊ธฐ
- ์คํฐ๋ ์งํ ์ํ ์๋ ๋ณ๊ฒฝ
- ๋ด ์คํฐ๋์ธ์ง ํ์ธํ ์ ์๋ API ๊ตฌํ
- ์ฌ์ฉ์ ์ ๋ณด ์กฐํ API
- ์คํฐ๋ ํ๊ธฐ UD
ํ๋ก ํธ
- ํ ์คํธ ์ฝ๋ ์์ฑ
- ๋ฐ๋ชจ ๋ฐํ ์ค๋น
-
๋ฐฑ์๋
- REST DOCS
- ๋ฆฌ๋ทฐ ์์ ๋ฐ ์ญ์
- ์คํฐ๋ ์งํ ์ํ ์๋ ๋ณ๊ฒฝ
- ๋ก๊ทธ์ธํ ์ฌ์ฉ์ ์ ๋ณด ์กฐํ
- ์คํฐ๋ ์ญํ ํ์ธ API
- ๋ฒ ๋ฃจ์ค : ํ๊ฒฝ๋ณ์ ์ ๋จน๋ ์ด์ ์์๋๋ฐ ํด๊ฒฐ
-
ํ๋ก ํธ
- ํ ์คํธ ์์ฑ
- CI/CD ์์ Dev & Prod ๋ถ๋ฆฌ
- main ๋ธ๋์น๋ Prod
- develop ๋ธ๋์น๋ Dev
-
dev.moamoa.space
(Dev) -
moamoa.space
(Prod)
- ์ฌ๋ฌ๊ฐ์ง ๋ฒ๊ทธ ์์
-
Back
- REST Docs : ๊ธฐ์กด
์ธ์ ํ ์คํธ
๊ฐ์ ธ๊ฐ๊ธฐ๋ก ๋ณ๊ฒฝ - ์ค์ผ์ฅด๋ฌ ์ด์ ํ์ธ
- ๋ฐฑ์๋ ๋จธ์ง ํด์ผ๋จ
- REST Docs : ๊ธฐ์กด
-
Front
- ์คํฐ๋ ๊ฐ์ค ์ ๋ค์ค ํ๊ทธ ์ ๋ ฅ ๊ธฐ๋ฅ ๊ตฌํ
- Front : ์คํฐ๋ ํ๊ธฐ CRUD API ๋ช ์ธ์ ๋ง๊ฒ ์์
- ๋ํ ์ผ ๋ทฐ์์ ๋ง๊ฐ๊ธฐํ์ ๋ฐ๋ผ UI ๋ณ๊ฒฝ
-
๋ฐํ ์ค๋น
- REST Docs
- ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๋จธ์ง
- ์คํฐ๋ ํ๊ธฐ CRUD API ๋ช ์ธ์ ๋ง๊ฒ ์์
- FE : ์ฌ์ฉ์ ์ ๋ณด ์กฐํ
- ์คํฐ๋ ๊ฐ์ค ํผ ๊ฐ์
- FE : ํ ์คํธ ์ฝ๋ ์ถ๊ฐ
- ๋ฐ๋ชจ๋ฐ์ด ๋ฐํ