SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

์šฐ๋ฆฌ๋Š” National Settlement Depository์˜ DPO ์‹œ์Šคํ…œ(Alameda ์˜ˆํƒ์†Œ ๋ฐ ์ฒญ์‚ฐ ํšŒ๊ณ„ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€)์˜ ๊ธฐ์กด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ฝ”๋“œ ํ’ˆ์งˆ์˜ ์ง€์†์ ์ธ ๋ถ„์„ ๋ฐ ์ธก์ •์„ ์œ„ํ•ด SonarQube ํ”Œ๋žซํผ์„ ๊ตฌํ˜„ํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ตญ๋ฆฝ๊ฒฐ์ œ์˜ˆํƒ์†Œ(๋ชจ์Šคํฌ๋ฐ” ๊ฑฐ๋ž˜์†Œ ๊ธฐ์—… ๊ทธ๋ฃน)๋Š” ๊ธˆ์œต ์ธํ”„๋ผ์˜ ํ•ต์‹ฌ ๊ธฐ์—… ์ค‘ ํ•˜๋‚˜๋กœ 50์กฐ ๋ฃจ๋ธ”์ด ๋„˜๋Š” ๋Ÿฌ์‹œ์•„ ๋ฐ ์™ธ๊ตญ ๋ฐœํ–‰์ธ์˜ ์ฆ๊ถŒ์„ ๋ณด๊ด€ํ•˜๊ณ  ํšŒ๊ณ„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์ž‘์—…๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๊ณ  ๊ธฐ๋Šฅ์ด ์ง€์†์ ์œผ๋กœ ํ™•์žฅ๋จ์— ๋”ฐ๋ผ ์‹œ์Šคํ…œ์˜ ๊ณ ํ’ˆ์งˆ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ•œ ๊ฐ€์ง€ ๋„๊ตฌ๋Š” SonarQube ์ •์  ๋ถ„์„๊ธฐ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์šฐ๋ฆฌ ๋ถ€์„œ์˜ ๊ธฐ์กด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— SonarQube ์ •์  ๋ถ„์„๊ธฐ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ๊ตฌํ˜„ํ•œ ์„ฑ๊ณต์ ์ธ ๊ฒฝํ—˜์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ํ•™๊ณผ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ

์šฐ๋ฆฌ์˜ ์—ญ๋Ÿ‰์—๋Š” NSD ๊ณ ๊ฐ์— ๋Œ€ํ•œ ์ง€๋ถˆ, ์ „์ž ๋ฌธ์„œ ๊ด€๋ฆฌ(EDF), ๊ฑฐ๋ž˜ ์ €์žฅ์†Œ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ(์žฅ์™ธ ๊ฑฐ๋ž˜ ๋“ฑ๋ก), ๊ณ ๊ฐ๊ณผ NSD ๊ฐ„์˜ ์ „์ž ์ƒํ˜ธ ์ž‘์šฉ ์ฑ„๋„ ๋“ฑ์˜ ๋ชจ๋“ˆ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์šด์˜ ํ™œ๋™์˜ ๊ธฐ์ˆ ์  ์ธก๋ฉด์—์„œ๋Š” ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์š”์ฒญ์— ๋”ฐ๋ผ ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค. ์šด์˜ ๋‹ด๋‹น์ž์˜ ์‹ ์ฒญ์„œ๋Š” ๋ถ„์„๊ฐ€์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋ถ„์„๊ฐ€๋Š” ๊ณ ๊ฐ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์ด๋ฅผ ํ”„๋กœ๊ทธ๋žจ์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋น„์ „์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ํ‘œ์ค€ ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ ๊ฐœ๋ฐœ โ€“ ํ…Œ์ŠคํŠธ โ€“ ์‹œํ—˜ ์šด์˜ โ€“ ์ƒ์‚ฐ ํšŒ๋กœ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ๊ณ ๊ฐ์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์™œ SonarQube์ธ๊ฐ€?

์ด๋Š” ์ฝ”๋“œ ํ’ˆ์งˆ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ํ”Œ๋žซํผ์„ ๊ตฌํ˜„ํ•˜๋Š” ์šฐ๋ฆฌ ๋ถ€์„œ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒฝํ—˜์ž…๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ฝ”๋“œ ๊ฒ€ํ† ๋งŒ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž‘์—…๋Ÿ‰์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ด ํ”„๋กœ์„ธ์Šค์˜ ์ž๋™ํ™”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒ€์—๋Š” ๋‚ด๋ถ€ ๊ฐœ๋ฐœ ๊ทœ์ •์„ ์ž˜ ์•Œ์ง€ ๋ชปํ•˜๊ณ  ์‹ค์ˆ˜๋ฅผ ๋” ๋งŽ์ด ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋Š” ๊ฒฝํ—˜์ด ๋ถ€์กฑํ•œ ์ง์›๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ํ’ˆ์งˆ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์ •์  ๋ถ„์„๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. SonarQube๋Š” ์ด๋ฏธ ์ผ๋ถ€ NSD ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธด ์„ ํƒ์˜ ์—ฌ์ง€๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋‹ค๋ฅธ ๋ถ€์„œ์˜ ๋™๋ฃŒ๋“ค์ด ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Alameda ์‹œ์Šคํ…œ(NSD์˜ ์ž์ฒด ์˜ˆํƒ ๋ฐ ์ฒญ์‚ฐ ํšŒ๊ณ„ ์‹œ์Šคํ…œ), CFT(ํšŒ๊ณ„ ์œ ์ง€ ๊ด€๋ฆฌ, ๋Œ€์ฐจ๋Œ€์กฐํ‘œ, ํ•„์ˆ˜ ๋ฐ ๋‚ด๋ถ€ ๋ณด๊ณ  ์ค€๋น„๋ฅผ ์œ„ํ•œ ์ •๋ณด ์‹œ์Šคํ…œ), ๋‹ค๋ฅธ ์‹œ์Šคํ…œ. ์‹คํ—˜์„ ์œ„ํ•ด SonarQube ๋ฌด๋ฃŒ ๋ฒ„์ „๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ๋กœ ๋„˜์–ด ๊ฐ‘์‹œ๋‹ค.

๊ตฌํ˜„ ํ”„๋กœ์„ธ์Šค

์šฐ๋ฆฌ๋Š” ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.:

  • TeamCity์˜ ์ž๋™ ์‹œ์Šคํ…œ ์กฐ๋ฆฝ;
  • GitLab์˜ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜์—์„œ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋กœ MergeRequest๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(GitHub Flow์— ๋”ฐ๋ฅธ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค).
  • ์ผ์ •์— ๋”ฐ๋ผ DPO ์‹œ์Šคํ…œ์˜ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ SonarQube.

์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ: DPO์˜ CI/CD ํ”„๋กœ์„ธ์Šค์— ์ž๋™ ์ฝ”๋“œ ๋ถ„์„์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑํ•ด์•ผ ํ•จ: ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ๊ฐ MergeRequest์™€ ํ•จ๊ป˜ ์ •์  ๋ถ„์„๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ํ™•์ธํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.

์ €๊ฒƒ๋“ค. ๋Œ€์ƒ ๊ทธ๋ฆผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์—…๋กœ๋“œํ•˜์ž๋งˆ์ž ์ฝ”๋“œ์˜ ์ƒˆ๋กœ์šด ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ž๋™ ๊ฒ€์‚ฌ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ์—†์œผ๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์Šน์ธ๋˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ์—์„œ ํŠน์ • ์ˆ˜์˜ ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—๋Š” ๋งค์šฐ ์œ ์—ฐํ•œ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ํŠน์ • ์ž‘์—…, ๊ฐ ์‹œ์Šคํ…œ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ์— ๋งž๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SonarQube์—์„œ QualityGate ์„ค์ •

QualityGate ๋ถ„์„์€ ์šฐ๋ฆฌ๊ฐ€ ์ธํ„ฐ๋„ท ๊นŠ์ด์—์„œ ์ฝ์€ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ์šฐ๋ฆฌ๋Š” ๋” ๋ณต์žกํ•˜๊ณ  ์–ด๋–ค ๋ฉด์—์„œ๋Š” ์™„์ „ํžˆ ์ •ํ™•ํ•˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € SonarQube๋ฅผ ํ†ตํ•ด ์Šค์บ”์„ ๋‘ ๋ฒˆ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜์™€ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉํ•  ๋ธŒ๋žœ์น˜๋ฅผ ์Šค์บ”ํ•œ ํ›„ ์˜ค๋ฅ˜ ์ˆ˜๋ฅผ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์•ˆ์ •์ ์ด์ง€ ์•Š์•˜์œผ๋ฉฐ ํ•ญ์ƒ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ SonarQube๋ฅผ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋Š” ๋Œ€์‹  ์˜ค๋ฅ˜ ์ˆ˜์— ์ œํ•œ์„ ์„ค์ •ํ•˜๊ณ (QualityGate) ์—…๋กœ๋“œํ•œ ๋ธŒ๋žœ์น˜๋งŒ ๋ถ„์„ํ•˜์—ฌ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

ํ˜„์žฌ ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๋‹ค์†Œ ์›์‹œ์ ์ธ ์ฝ”๋“œ ๊ฒ€ํ† ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. SonarQube๋Š” Delphi๋ฅผ ํฌํ•จํ•œ ์ผ๋ถ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์˜ PLSql ์ฝ”๋“œ๋งŒ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค :

  • ์šฐ๋ฆฌ๋Š” ํ”„๋กœ์ ํŠธ์˜ PL/SQL ์ฝ”๋“œ๋งŒ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  • SonarQube์—๋Š” ์ปค๋ฐ‹์œผ๋กœ ์ธํ•ด ์˜ค๋ฅ˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋„๋ก QualityGate๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ์‹คํ–‰ ์‹œ ์˜ค๋ฅ˜ ์ˆ˜๋Š” 229์˜€์Šต๋‹ˆ๋‹ค. ์ปค๋ฐ‹ ์ค‘์— ๋” ๋งŽ์€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉด ๋ณ‘ํ•ฉ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋˜ํ•œ, ์˜ค๋ฅ˜๊ฐ€ ์ˆ˜์ •๋˜๋ฉด QualityGate๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ ์ ์šฉ ๋“ฑ ๋ถ„์„์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํฌ์ธํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฌด ๊ณ„ํš :

SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

์Šคํฌ๋ฆฝํŠธ์˜ ์ฃผ์„์€ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ์˜ ์˜ค๋ฅ˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š์•˜์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

๋ณ‘ํ•ฉ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

์Šคํฌ๋ฆฝํŠธ์˜ ์ฃผ์„์—์„œ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ์˜ ์˜ค๋ฅ˜ ์ˆ˜๊ฐ€ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋ณด๋‹ค ๋งŽ์•„์กŒ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  ๊ฒƒ์ด ๋‚˜์˜๋‹ค.

SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

๋ณ‘ํ•ฉ ๋ฒ„ํŠผ์€ ๋นจ๊ฐ„์ƒ‰์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ž˜๋ชป๋œ ์ฝ”๋“œ๋กœ ์ธํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์—…๋กœ๋“œ๋ฅผ ๊ธˆ์ง€ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ์ด๋Š” ๋‹ด๋‹น ๊ฐœ๋ฐœ์ž์˜ ์žฌ๋Ÿ‰์— ๋”ฐ๋ผ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์ด๋Ÿฌํ•œ ์ปค๋ฐ‹์ด ๊ธฐ๋ณธ ๋ถ„๊ธฐ์— ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SonarQube๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์—„์ฒญ๋‚œ ์ž ์žฌ๋ ฅ์„ ์‹คํ˜„ํ•œ ๋ฐฉ๋ฒ•

์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๋…๋ฆฝ์ ์ธ ์ž‘์—…

๋‹ค์Œ์œผ๋กœ, SonarQube๋Š” ์—„๊ฒฉํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ถ„์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์Šคํ…œ์—์„œ ๊ฐ์ง€๋œ ๋ชจ๋“  ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฐ€ ์˜ค๋ฅ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ์šฐ๋ฆฌ ์ฝ”๋“œ์—์„œ๋Š” ์˜ค๋ฅ˜๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์ด ์‹ค์ œ๋กœ ์˜ค๋ฅ˜์ธ์ง€, ์•„๋‹ˆ๋ฉด ๋‹น์‚ฌ์˜ ์กฐ๊ฑด์—์„œ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋ฉ”๋ชจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ค๋ฅ˜ ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์‹œ์Šคํ…œ์€ ์ด๋Ÿฌํ•œ ๋‰˜์•™์Šค๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์— ์™”๋Š”๊ฐ€

์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ฝ”๋“œ ๊ฒ€ํ† ๋ฅผ ์ž๋™ํ™”๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•œ์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋Š” ๊ธฐ๋Œ€์— ๋ถ€์‘ํ–ˆ์Šต๋‹ˆ๋‹ค. SonarQube๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•„์š”ํ•œ ์–ธ์–ด๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๊ณ  ์ƒ๋‹นํžˆ ์œ ๋Šฅํ•œ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๊ฐœ๋ฐœ์ž ํŒ์—์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ์ž ์žฌ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” SonarQube๋ฅผ ์‚ฌ์šฉํ•œ ์ฒซ ๊ฒฝํ—˜์— ๋งŒ์กฑํ•˜๋ฉฐ ์ด ๋ฐฉํ–ฅ์œผ๋กœ ๋”์šฑ ๋ฐœ์ „ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ์ฝ”๋“œ ๊ฒ€ํ† ์— ๋” ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„ ์ ˆ์•ฝํ•˜๊ณ  ์ธ์  ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ทธ ๊ณผ์ •์—์„œ ์šฐ๋ฆฌ๋Š” ํ”Œ๋žซํผ์˜ ๋‹จ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๊ณ , ๋ฐ˜๋Œ€๋กœ ์ด๊ฒƒ์ด ํฐ ์ž ์žฌ๋ ฅ์„ ์ง€๋‹Œ ๋ฉ‹์ง„ ์ผ์ด๋ผ๋Š” ๊ฒƒ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์‹ ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ฆฌ๋ทฐ ๊ธฐ์‚ฌ์—์„œ ์šฐ๋ฆฌ๋Š” SonarQube ์ •์  ๋ถ„์„๊ธฐ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์žˆ์œผ์‹œ๋ฉด ๋Œ“๊ธ€์— ์ ์–ด์ฃผ์„ธ์š”. ์ด ์ฃผ์ œ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ์ƒˆ ์ถœํŒ๋ฌผ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ ์ž‘์„ฑ์ž: ์•„ํƒ€๋ƒ

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster