๐Ÿณ์ธํ”„๋ผ

๊ฐ€์ƒํ™”๊ฐœ๋…: ๊ฐ€์ƒํ™”๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ์†Œํ”„ํŠธ์›จ์–ด์ ์œผ๋กœ ์ถ”์ƒํ™”ํ•˜์—ฌ, ์—ฌ๋Ÿฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํ•˜๋‚˜์˜ ์ž์›์„ ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž ํ˜น์€ ์‹œ์Šคํ…œ์ด ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ์ˆ 1๋Œ€์˜ ๋ฌผ๋ฆฌ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ๋Œ€์˜ ๊ฐ€์ƒ์„œ๋ฒ„๋กœ ๊ตฌ์ถ• ๊ฐ€๋Šฅ์—ฌ๋Ÿฌ๋Œ€์˜ ๋ฌผ๋ฆฌ์„œ๋ฒ„๋ฅผ ํ•œ๋Œ€์˜ ๊ฐ€์ƒ์„œ๋ฒ„๋กœ ๊ตฌ์ถ• ๊ฐ€๋Šฅ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ ๋“ฑ์˜ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ ๊ฐ€์ƒํ™”์˜ ์œ ํ˜•์„œ๋ฒ„ ๊ฐ€์ƒํ™”: ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€์˜ ๊ฐ€์ƒ ์„œ๋ฒ„๋กœ ๋‚˜๋ˆ„์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹๋„คํŠธ์›Œํฌ ๊ฐ€์ƒํ™”: ๋ฌผ๋ฆฌ์  ๋„คํŠธ์›Œํฌ ์žฅ์น˜๋ฅผ ๊ฐ€์ƒํ™”ํ•˜์—ฌ ๋…ผ๋ฆฌ์  ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑ, ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ํ•œ๋‹ค.๋ฌผ๋ฆฌ์ ์œผ๋กœ๋Š” ํ•˜๋‚˜์ธ ๋„คํŠธ์›Œํฌ๋„ ์—ฌ๋Ÿฌ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ๋กœ ๋ถ„ํ•  ๊ฐ€๋Šฅ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ ธ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ ๊ฐ€๋Šฅ๋ฐ์Šคํฌํƒ‘ ๊ฐ€์ƒํ™”: ๋ฌผ๋ฆฌ์  ์ปดํ“จํ„ฐ ์—†์ด ๊ฐ€..
์ด๋ฏธ์ง€๋นŒ๋“œ๋ž€?์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ์ €์žฅ๋˜๋Š”์ง€, ์ด๋ฏธ์ง€๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ ˆ์ด์–ด๋“œ ๊ตฌ์กฐ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•: ์ปค๋ฐ‹, ๋นŒ๋“œ๋นŒ๋“œ ์œ„ํ•ด์„œ ๋„์ปค ํŒŒ์ผ์ด๋ผ๋Š” ๋ช…์„ธ์„œ ์ž‘์„ฑ๋” ํšจ์œจ์ ์ธ ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๋ฐฉ์‹: ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง• ๋ฐฉ์‹ 1. ์ด๋ฏธ์ง€์™€ ๋ ˆ์ด์–ด์ด๋ฏธ์ง€๋Š” ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์œ„ํ•œ ์ฝ๊ธฐ ์ „์šฉ ํŒŒ์ผ์ด๋ฉฐ, ๋„์ปค ์ด๋ฏธ์ง€๋Š” ๋ ˆ์ด์–ด๋“œ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.๋ ˆ์ด์–ด๋ž€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธต์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ฒƒ ์ค‘ ํ•˜๋‚˜์˜ ์ธต์œผ๋กœ, ๋ ˆ์ด์–ด๋“œ ๊ตฌ์กฐ๋Š” ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์€ ๊ตฌ์กฐ์ด๋‹ค.์ด ๋ ˆ์ด์–ด๋“ค์ด ๋ชจ์—ฌ์„œ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๊ฐ ๋ ˆ์ด์–ด๋Š” ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€๋ถ„์ด๋‹ค. ์™œ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋ฅผ ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑํ• ๊นŒ?๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ด๋ฏธ์ง€ ์ €์žฅ&์ „์†ก ์‹œ ์Šคํ† ๋ฆฌ์ง€์™€ ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฑด์ถ•๋„๋ฉด์„ ์ƒ๊ฐํ•˜์žํˆฌ๋ช…ํ•œ ๋„๋ฉด์„ ์—ฌ๋Ÿฌ ์žฅ ์ค€๋น„ํ•˜์—ฌ ..
์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ €์žฅ์†Œ์ด๋‹ค.์ด ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ํ†ตํ•ด์„œ ๊ฐœ์ธ์ด๋‚˜ ํŒ€์ด ์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ํ•„์š”ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์ €๋ฒˆ ์ฑ•ํ„ฐ์—์„œ Nginx ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ• ๋•Œ, ์ด ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ Nginx ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์•˜๋‹ค.๋Œ€ํ‘œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ: ๋„์ปค ํ—ˆ๋ธŒ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“  ๋„์ปค ํ—ˆ๋ธŒ์˜ ๊ณ„์ •์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œํ•ด๋ณด๊ฒ ๋‹ค. ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐœ๋…: ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ์†Œ๊ฐœ๋ฐœ์ž๋Š” GitHub๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ž์‹ ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๋ณด๊ด€ํ•˜๊ณ  ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ๊ณต์œ Image Registry๋„ GitHub์™€ ์•„์ฃผ ๋น„์Šท๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” Public Image Registry๋Š” Docker HubGitHub๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ์†Œ์ด๋ฉด, Docker Hub๋Š” ์ด๋ฏธ์ง€๋ฅผ..
1. ์„œ๋ฒ„ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์šด์˜ ํ™˜๊ฒฝ์—์„œ ๋งŽ์€ ์–‘์˜ ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•ด์•ผ ํ•œ๋‹ค.์ด๋•Œ 3๊ฐ€์ง€ ๋ฐฉ์‹์ด ์กด์žฌํ•œ๋‹ค. ๋ฒ ์–ด๋ฉ”ํƒˆ, ํ•˜์ดํผ๋ฐ”์ด์ €, ์ปจํ…Œ์ด๋„ˆํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณด์ž๋ฒ ์–ด๋ฉ”ํƒˆ์€ ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํ“จํ„ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋˜‘๊ฐ™๋‹คํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์ „์— ๊ฐ€์ƒํ™”๋ฅผ ์•Œ์•„๋ณด์ž 2. ๊ฐ€์ƒํ™” ๊ฐ€์ƒํ™”๋ž€ ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ ๋งˆ์น˜ ์ปดํ“จํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ฆ‰, ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ๋กœ ์—ฌ๋Ÿฌ๋Œ€ ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€์ง„๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.๋ฌผ๋ฆฌ์ ์ธ ์ปดํ“จํ„ฐ ์•ˆ์— ๋…ผ๋ฆฌ์ ์ธ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๊ฐ€์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ญ๊ฐ€ ์ข‹์„๊นŒ?์˜ˆ๋ฅผ๋“ค์–ด OS 1๊ฐœ์— 4๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ๋ฌธ์ œ๊ฐ€ ์—†์–ด๋ณด์ธ๋‹ค.ํ•˜์ง€๋งŒ, ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด, ์ด๋Š” ์ „์ฒด์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๊ณ , ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•ด์„œ ๋‚จ์•„์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ..
๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๋„์ปค๋Š” ํ•„์—ฐ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๊ณ , ์ด๋ฒˆ ๋ฐฉํ•™ ๋•Œ ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ˜„์žฌ ์•„๋ž˜ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ๊ณ , ๊ฐ•์‚ฌ๋‹˜๊ป˜ ํ—ˆ๋ฝ์„ ๋งก๊ณ  ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌ๊ธ€์„ ์˜ฌ๋ฆฌ๋ ค๊ณ ํ•œ๋‹ค.https://inf.run/Apgvc ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์‰ฌ์šด ๋„์ปค ๊ฐ•์˜ | ๋ฐ๋ธŒ์œ„ํ‚ค - ์ธํ”„๋Ÿฐ๋ฐ๋ธŒ์œ„ํ‚ค | ํ˜„์—… ๊ฐœ๋ฐœ์ž๊ฐ€ ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์„ ๋…น์—ฌ๋‚ธ ์ƒˆ๋กœ์šด ์ปค๋ฆฌํ˜๋Ÿผ์œผ๋กœ ๊ธฐ์กด ๊ต์žฌ ๋ฐ ๊ฐ•์˜์™€ ์ฐจ๋ณ„๋œ ๊ฐ•์˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•์ด ์•„๋‹Œ ๋„์ปค๋ฅผ ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€ ๋Œ€ํ•œ ๊ทผwww.inflearn.com  ์นดํ…Œ๊ณ ๋ฆฌhttps://koreatstm.tistory.com/155
1. ์  ํ‚จ์Šค ํŒŒ์ดํ”„๋ผ์ธ ์„ค์ •Dashboard > New Item > PipelineGithub project์— webhook ๋“ฑ๋กํ•œ repository URL ์ž…๋ ฅBuild Triggers > Github hook trigger for GITscm polling ์ฒดํฌ ํŒŒ์ดํ”„๋ผ์ธ  ํฌ๊ฒŒ 3๋‹จ๊ณ„๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.Git Clone ๋‹จ๊ณ„Git ์ €์žฅ์†Œ์—์„œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋‹จ๊ณ„branch ๊ฐ€์ ธ์˜ฌ ๋ธŒ๋žœ์น˜๋ฅผ ์ง€์ •credentialsId ์‚ฌ์šฉํ•  Git ์ž๊ฒฉ ์ฆ๋ช…์˜ ID๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์‚ฌ์ „์— Jenkins์—์„œ ์„ค์ •๋œ ๊ฒƒurl ๊ฐ€์ ธ์˜ฌ Git ์ €์žฅ์†Œ์˜ URL์„ ์ง€์ •Build ๋‹จ๊ณ„Gradle์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋‹จ๊ณ„./gradlew clean build ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ Gradle ๋นŒ๋“œ๋ฅผ ์ˆ˜ํ–‰Deploy ๋‹จ๊ณ„s..
1. ์  ํ‚จ์Šค ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ 1)gradle๋กœ ๋นŒ๋“œํ•˜๊ธฐ์œ„ํ•ด gradle ๊ด€๋ จ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜Dashboard > Manage Jenkins > Tools Gradle Installations > Version ์„ ํƒ ํ•˜๊ณ  Save 2) SSH agent ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜SSH๋ฅผ ํ†ตํ•ด EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•  ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด SSH agent๋ฅผ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค.Dashboard > Manage Jenkins > Plugins > Available pluginsAvailable plugins > SSH agent ๊ฒ€์ƒ‰ > ์„ค์น˜ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค.2. Repository WebHook ๋“ฑ๋ก์‚ฌ์šฉ githubhttps://github.com/seongjju/opensource GitHub - seongjju/opensou..
1. Jenkins ์„ค์ •EC2์˜ ํผ๋ธ”๋ฆญ IP๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•œ๋‹ค. $ sudo docker logs jenkins์ด๋•Œ jenkins์— ๋กœ๊ทธ๊ฐ€ ์ถœ๋ ฅ๋˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์  ํ‚จ์Šค๋ฅผ ์ตœ์ดˆ๋กœ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ๋•Œ ํ•„์š”ํ•œ initial admin password๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.๋˜๋Š” ์ง์ ‘ ์  ํ‚จ์Šค ์ปจํ…Œ์ด๋„ˆ์— ์ ‘์†ํ•˜์—ฌ, ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.$ sudo docker exec -it jenkins /bin/bash$ cat /var/jenkins_home/secrets/initialAdminPassword install suggested plugins๋ฅผ ๋ˆ„๋ฅธ๋‹ค.ํ‰๊ท ์ ์œผ๋กœ 10๋ถ„์ด๋‚ด์— ์™„๋ฃŒ๋œ๋‹ค.์ดํ›„ admin ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๊ธฐ ์œ„ํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค.์›๊ฒฉ ์ฃผ์†Œ๋กœ Jenkins URL์ด ์„ค์ •๋œ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿณ์ธํ”„๋ผ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก