third - HJ-Rich/2022-MyRSS GitHub Wiki
- RestDocs์ ํ
์คํธ๋ฅผ ์ด์ฉํด API ๋ฌธ์๋ฅผ ์๋์ผ๋ก ์์ฑํ๋๋ก ๊ตฌ์ฑ
- build.gradle ์ ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ ๋ฐ ํ์คํฌ ์ค์ ์ถ๊ฐ
- Documentation Test ์์ฑ
- build ๊ฒฐ๊ณผ๋ฌผ์ธ snippet์ ์กฐํฉํ๋ adoc ์์ฑ
- adoc๋ค์ ํตํฉํ๋ adoc ์์ฑ
- index.html๋ก ๋ฌธ์ ์ ๊ณต

- Github Actions๋ฅผ ์ด์ฉํด PR Open, Synchronize, Merge, Push ์ด๋ฒคํธ ๋ฐ์ ์ CI ์ํ
- gradle build ๊ธฐ๋ฐ์ผ๋ก CI ์ํ
- ํ ์คํธ ์ํ ๊ฒฐ๊ณผ๋ก ์์ฑ๋๋ xmlํ์ผ์ ํตํด ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง, ํ ์คํธ ์คํจ ์ฌํญ์ PR Checks ์ฝ๋ฉํธ๋ก ์๋ ๋ฑ๋กํ๋๋ก ๊ตฌ์ฑ
- Slack Notification ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด CI ์ค ๋น๋ ์คํจ ๋ฐ์ ์ Slack ์๋ฆผ ์ ์ก
- ๋น๋ ๊ฒฐ๊ณผ๋ฅผ SonarQube ์๋ฒ์ ์ ์กํ์ฌ PR Decoration ์ฝ๋ฉํธ๋ก ์์ฑํด์ค
- Jenkins๋ฅผ ์ด์ฉํ CD์์๋ ๋ฐฐํฌ ์ gradle build๋ฅผ ์ํํ๊ธฐ์ ํ
์คํธ ๊ณผ์ ์ด ํฌํจ๋จ
- ๋น๋ ์คํจ์ ๋ฐฐํฌ๋์ง ์์ผ๋ฉฐ, Slack์ผ๋ก ์๋ฆผ ์ ์กํ๋๋ก ๊ตฌ์ฑ
- Github Actions ๋ฅผ ์ด์ฉํ CI ํ ์คํธ ์๋ํ
- Jacoco with Github Action
- logback ์ ์ด์ฉํ ๋ก์ปฌ, ๊ฐ๋ฐ, ์ด์ ํ๊ฒฝ๋ณ ๋ณ๋ ์ค์ ์งํ
- ๋ก์ปฌ ์ค์
- springframework : INFO ์ด์
- com.myrssmanager : DEBUG ์ด์
- ์ถ๋ ฅ ์์น : ์ฝ์
- ๊ฐ๋ฐ ๋ฐ ์ด์ ์ค์
- springframework : INFO ์ด์
- com.myrssmanager : INFO ์ด์ (๊ฐ๋ฐ์์ DEBUG ์ด์)
- ์ถ๋ ฅ ์์น : ํ์ผ ์ถ๋ ฅ
- ํ์ผ ์ถ๋ ฅ ์์ธ ์ค์ :
- RollingFileAppender๋ฅผ ์ด์ฉํด ๋ก๊ทธ ๋ ๋ฒจ ๋ณ ๋ณ๋ ํ์ผ๋ก ์ถ๋ ฅํ๋๋ก ๊ตฌ์ฑ
- RollingFileAppender๋ฅผ ์ด์ฉํด ๋ ์ง๋ณ๋ก ๊ตฌ๋ถ, 10MB ์ด์์ด ๋ ๊ฒฝ์ฐ ํ์ผ๋ณ๋ก๋ ๊ตฌ๋ถํ๋๋ก ๊ตฌ์ฑ
- RollingFileAppender๋ฅผ AsyncAppender ๋ก ๊ฐ์ธ์ ๋น๋๊ธฐ๋ก ์ถ๋ ฅํ๊ฒ ํ์ฌ ์ฑ๋ฅ ํฅ์ ๋
ธ๋ฆผ
- Freenom ์ ์ด์ฉํด ๋ฌด๋ฃ ๋๋ฉ์ธ ํ๋ํ์ฌ A, ๋ฐ CNAME ์ค์ ํ์ฌ myrss.ga์ SSL ์ ์ฉ
- Nginx๊ฐ location ๊ตฌ๋ถ์ ์ฌ์ฉํ์ฌ proxy_pass ์ค์ ์ ํตํด ํ๋ก ํธ ์์ฒญ ๋ฐ ๋ฐฑ์๋ ์์ฒญ์ ๋ถ๊ธฐ์ฒ๋ฆฌ
- CORS ์ค์ ์ด ๋ถํ์ํ ์๋ฒ ์ํคํ ์ฒ (Same-Origin, @Profile)
- 10๋ถ๋ง์ ๋๋ด๋ EC2 ์์ฑ, NGINX ๊ตฌ์ฑ, SSL์ ์ฉ
- ๐HTTPS ํ ์คํผ (๋์นญํค, ๊ฐ์ธํค, ๊ณต๊ฐํค)
ํ์ ์๊ตฌ์ฌํญ ์ ์ฒด ๋ณด๊ธฐ