๐Ÿณ TIL

์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ์ด๋ฏธ์ง€ ์ตœ์ ํ™” ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜ ๊ฑฐ์˜ ๋ชป ์ž์„œ ๊ทธ๋Ÿฐ์ง€ ์ง„์งœ ํ•˜๋ฃจ์ข…์ผ ํ”ผ๊ณค์“ฐ.. ๋งจ์ •์‹ ์ด ์•„๋‹Œ ๊ฑฐ ๊ฐ™์•„์„œ ์˜ค๋Š˜์€ ๊ณต๋ถ€ ์•ˆํ•˜๊ณ  ์ž๋ จ๋‹ค... ์•„ ์˜ค๋Š˜ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ์ด ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ธธ๋ž˜, ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ png ํŒŒ์ผ์„jpeg์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋Š”๋ฐ, ์ด๊ฒƒ๋งŒ์œผ๋กœ๋„ ์„ฑ๋Šฅ์ด ์—„์ฒญ ๊ฐœ์„ ๋๋‹ค ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฑ์ค€ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ (๊ฑฐ๋ฆฌ ๊ตฌํ•˜๊ธฐ & ์ •๋ ฌ) DB ๋™์‹œ์„ฑ ๊ณต๋ถ€ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ…
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ณ ๋„ํ™” & ๋ธ”๋กœ๊น… DB ์‹œ์›ํ•˜๊ฒŒ ๋ง์•„๋จน๊ธฐ ๋ฐฑ์ค€ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ๋„ˆ๋ฌด ํ”ผ๊ณคํ•ด์„œ ์–ด์šฐ.. ์–ด์ง€๋Ÿฝ๋‹ค... ์ง€๊ธˆ ์ž๋„ ํ•œ์‹œ๊ฐ„ ๋ฐ˜ ๋ฐ–์— ๋ชป์ž๋„ค... ์†Œ์…œ๋กœ๊ทธ์ธ ์ •๋ฆฌ๋งŒ ํ•˜๋Š”๋ฐ๋„ ๋„ˆ๋ฌด์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค..ใ… ใ…  ์ž์•ผ์ง€.. ์˜ค๋Š˜ DB๋„ ๋‚ ๋ ค๋จน์—ˆ๋Š”๋ฐ, ํ”ผ๊ณคํ•ด์„œ ๋ญ˜ ์“ธ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค ํ•˜ํ•˜ ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฑ์ค€ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ DB ๊ณต๋ถ€ ์‰ฌ์šด์ฝ”๋“œ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ… https://ttl-blog.tistory.com/1434 [Spring] ํ™•์žฅ์„ฑ ์žˆ๋Š” OAuth2.0 ๋กœ๊ทธ์ธ ๊ตฌํ˜„(์นด์นด์˜ค, ๋„ค์ด๋ฒ„, ๊ตฌ๊ธ€ ๋“ฑ) (Security ์‚ฌ์šฉ X) (์ „ ์ˆœ์ • ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ธฐ ๋•Œ๋ฌธ์— React๋Š” ๋ชปํ•ฉ๋‹ˆ๋‹ค. React ์ฝ”๋“œ๋Š” Chat GPT ์‹œ์ผœ์„œ ๊ตฌํ˜„ํ•˜์˜€๊ณ , ๋Œ€์‹  ๋ฐฑ์—”๋“œ์— ์˜จ ์ง„์‹ฌ์„ ๋‹ดํ•˜์„œ ๊ตฌํ˜„ํ•˜์˜€์œผ..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ UX ์›Œํฌ์ˆ? ํŽ˜์ด์ง• ๊ตฌํ˜„ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ HttpInterface ๊ณต๋ถ€ ๋ฐฑ์ค€ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์–ด์ œ ์˜ค๋„๋ž‘ ๊ฐ™์ด ์–ด๋Š์ •๋„ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ์˜ค๋Š˜ ์˜ค๋„๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—…์„ ๋๋‚ด์ฃผ์—ˆ๋‹ค. ๋‚˜๋„ ์†Œ์…œ ๋กœ๊ทธ์ธ ํ•˜๊ณ ์‹ถ์–ด์„œ ๋ฆฌํŒฉํ† ๋ง ํ•˜๋Š” ๋ถ€๋ถ„ ํ•ด๋„ ๊ดœ์ฐฎ๋ƒ ๋ฌผ์—ˆ๊ณ , ์˜ค๋„๋„ OK ํ•ด์ค˜์„œ ์—ฌ๋Ÿฌ ์†Œ์…œ ๋กœ๊ทธ์ธ์—๋„ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ์—ฐ์„ฑ ์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜์˜€๋‹ค. ๊ทธ ๊ณผ์ •์—์„œ RestTemplate ๋Œ€์‹  ์Šคํ”„๋ง6์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” HttpInterface๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๊น”๋”ํ•ด์กŒ๋‹ค. ๋‚ด์ผ ์•„๋งˆ ์†Œ์…œ ๋กœ๊ทธ์ธ ์ •๋ฆฌํ•ด์„œ ๋ธ”๋กœ๊น… ํ•˜๋ฉด์„œ ์ด๊ฒƒ๋„ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์•ผ๊ฒ ๋‹ค. ๋Œ€๋žต ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. @Component @RequiredArgsConstructor public class K..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ CI/CD ์ •๋ฆฌ ํ•œ๊ธ€ ๊ฒฝ๋กœ๋กœ ์ธํ•ด ์•ˆ๋ณด์ด๋Š” ์ด๋ฏธ์ง€ base64๋กœ ์ธ์ฝ”๋”ฉ ์ž‘์—… ๊ฑฐ๋ฆฌ๋กœ ์Œ์‹์  ์กฐํšŒ ํ•„ํ„ฐ ๊ธฐ๋Šฅ ์†Œ์…œ ๋กœ๊ทธ์ธ ์ดˆ๋ฐ˜ ๊ตฌํ˜„ ์‰ฌ์šด์ฝ”๋“œ ์˜์ƒ ๋ณด๊ณ  ๊ณต๋ถ€ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜ ๋“œ๋””์–ด(?) ๋ฉ”์ธ ํŽ˜์ด์ง€ ์™„์„ฑ๋๋‹ค! ์‚ฌ์‹ค ์˜ˆ์ „๋ถ€ํ„ฐ ๊ฑฐ์˜ ์™„์„ฑ์€ ๋‹ค ๋์ง€๋งŒ, ํ•ฉ์น˜๋Š” ๊ณผ์ •์ด ์กฐ๊ธˆ ๋Šฆ์–ด์ ธ์„œ,, ์–ด์ฐŒ์–ด์ฐŒ ์˜ค๋Š˜ ๋๋ƒˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ๋„ˆ๋ฌด ์ด๋ป์„œ ๋Œ€๋งŒ์กฑ์ค‘. ์•„ ๊ทธ๋ฆฌ๊ณ  ์†Œ์…œ ๋กœ๊ทธ์ธ๋„ ์˜ˆ์ „์—๋Š” ์ •๋ง ์–ด๋ ค์› ๋Š”๋ฐ, ์˜ค๋Š˜ ํ•ด๋ณด๋ ค๋‹ˆ๊นŒ ๋„ˆ๋ฌด ์‰ฌ์›Œ์„œ ์กฐ๊ธˆ ๋ ์šฉํ–ˆ๋‹ค..? ๋‚ด์ผ์€ ์ด์ œ ๋‹ค์‹œ ์•„์นจ์— ๊ณต๋ถ€์ข€ ํ•ด์•ผ์ง€ ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฑ์ค€ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ DB ๊ณต๋ถ€ ์‰ฌ์šด์ฝ”๋“œ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ… https://celuveat.github.io/team-blog/back-blog Blog | Celuveat Blog..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ CI/CD ์ •๋ฆฌ์ค‘ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์šฐ๋ฆฌ ํŒ€์˜ CI/CD๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ์žˆ๋Š”๋ฐ Jenkins ๋Œ€์‹  Github Actions ์“ด ์ด์œ ์— ๋Œ€ํ•ด์„œ ์ ์„๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์‚ฌ์‹ค ์ œ๋Œ€๋กœ ๋œ ํ™•์ธ ์—†์ด Jenkins๋ณด๋‹ค Github Actions๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋œ ์žก์•„๋จน์„ ๊ฒƒ์ด๋ผ๋Š” ์˜ˆ์ƒ๋งŒ์œผ๋กœ ๊ธฐ์ˆ ์„ ๋„์ž…ํ–ˆ๊ธฐ์— ๊ธ€์„ ์“ฐ๋‹ค๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๊ณ , ๋‚ด์ผ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค. ์˜ค๋Š˜์€ ๋Œ€์ „์—์„œ ์„œ์šธ ์˜ฌ๋ผ์˜ค๋Š๋ผ ์‹œ๊ฐ„์ด ๊ฑฐ์˜ ์—†์—ˆ๋‹ค... ์ด๋ฒˆ ์ฃผ๋ง์—๋„ ๊ณต๋ถ€๋ฅผ ๊ฑฐ์˜ ๋ชป ํ–ˆ๋„น.. ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฑ์ค€ CI/CD ์ •๋ฆฌ๊ธ€ ์ž‘์„ฑ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ DB ๊ณต๋ถ€ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ…
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๋ช‡๋ช‡ ํ”„๋กœ์ ํŠธ ์ฝ”๋”ฉ ์‰ฌ์šด์ฝ”๋“œ ์˜์ƒ ๋ณด๋ฉฐ ๊ณต๋ถ€ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜ ๋Šฆ์ž ์ž๊ธฐ๋‘ ํ–ˆ๊ณ  ๋Œ€์ „์˜ค๋Š๋ผ ๋ฐ”๋น ์„œ ์–ผ๋งˆ ๋ชป ํ–ˆ๋‹ค.. ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฑ์ค€ CI/CD ์ •๋ฆฌ๊ธ€ ์ž‘์„ฑ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ…
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ 2์ฐจ ๋ฐ๋ชจ๋ฐ์ด & ํšŒ์˜ ๋ฐฑ์ค€ ํ”„๋กœ์ ํŠธ Nginx๋กœ ํฌํŠธํฌ์›Œ๋”ฉ ๊ฐœ๋ฐœ ์ค‘ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜ CI/CD ์ •๋ฆฌ๊ธ€ ์ž‘์„ฑํ•˜๋ ค ํ–ˆ๋Š”๋ฐ, ๋‚ด์ผ๋กœ ๋ฏธ๋ฃจ๊ณ , ์ผ๋‹จ ๊ธฐ๋Šฅ๋ถ€ํ„ฐ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ–ˆ๋‹ค. ์ฟผ๋ฆฌDSL ์“ฐ๋ฉด ๊ธˆ๋ฐฉ ๋๋‚  ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด์—ˆ๋Š”๋ฐ, ๊ธฐ์ˆ  ํ—ˆ๋ฝ ๋ฐ›๋Š”๋ฐ ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™์•„์„œ ๊ทธ๋ƒฅ ๋™์ ์ฟผ๋ฆฌ ์ง์ ‘ ๋งŒ๋“ค์–ด์„œ ํ–ˆ๋‹ค. ํ›„ ๊ทผ๋ฐ ๋„ˆ๋ฌด ์กธ๋ ค์„œ ์ƒ๊ฐ์ด ์•ˆ๋‚˜๋„ค. ์ผ๋‹จ ์ž์•ผ์ง€ ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฑ์ค€ DB ๊ณต๋ถ€ CI/CD ์ •๋ฆฌ๊ธ€ ์ž‘์„ฑ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ…
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๋ฐฑ์ค€ ํ”„๋กœ์ ํŠธ CI/CD ์„ค์ • ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜์€ ํ”„๋กœ์ ํŠธ CI/CD ์„ค์ •์„ ๋ชจ๋‘ ๋๋ƒˆ๋‹ค!! ์„œ๋ฒ„ ๋ถ€๋ถ„์€ ๊ทธ๋‚˜๋งˆ ํ• ๋งŒํ–ˆ...? ์‚ฌ์‹ค ์•ˆ ํ• ๋งŒํ–ˆ๋‹ค. ๊นƒํ—ˆ๋ธŒ ์•ก์…˜ self-hosted Runner๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค์˜ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜์˜€๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ ์กฐ๊ธˆ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…์ด ์žˆ์—ˆ๋‹ค. ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์—์„œ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด sudo๋ฅผ ๋ถ™์—ฌ์•ผ ํ–ˆ๊ณ (๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ™•์ธํ•  ์ˆ˜ ์—†์—ˆ์—ˆ๋‹ค, ์‹ค์ œ๋กœ ๋™์ž‘๋˜๋Š”์ง€๋Š” ๋‚ด์ผ ๋‹ค์‹œ ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  nohup ํŒŒ์ผ๋„ ๋ณด์ด์ง€๊ฐ€ ์•Š์•˜๋‹ค.) ๊ทธ์— ๋”ฐ๋ผ ์‰˜ ์Šคํฌ๋ฆฝํŠธํŠธ๋กœ ์กฐ๊ธˆ์”ฉ ๋ฐ”๋€Œ๋ฉด์„œ ์—„์ฒญ๋‚œ ํ˜ผ๋™์ด ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๊ทธ๋ž˜๋„ ํ•œ๋ฒˆ ํ•ด๋ดค์œผ๋‹ˆ, ์ฃผ๋ง ๋™์•ˆ ์ •๋ฆฌํ•ด์„œ ํŒ€๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ ค์•ผ๊ฒ ๋‹ค ํ›„ํ›„ ๋„ˆ๋ฌด ํ”ผ๊ณคํ•˜๋‹ค ใ… ใ…  ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฑ์ค€ DB ๊ณต๋ถ€ ..
๋ง ๋ž‘
'๐Ÿณ TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (23 Page)