[DevOps] Ubuntu 22.04์— SonarQube 9.5 ์„ค์น˜

2022. 12. 20. 23:05ใ†System ์ž‘์—…์‹ค/DevOps

728x90
๋ฐ˜์‘ํ˜•

 

 

 

 

 

 

 

Hands-on Azure DevOps: CICD Implementation for Mobile Hybrid and Web Applications Using Azure DevO... Paperback

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 

 




๐Ÿ—‚ ๋ชฉ์ฐจ

 

 

 

๐Ÿš€ Sonarqube 9.5.0

    ๐Ÿ”ฝ  ์ดˆ๊ธฐ ๊ตฌ์„ฑ

        ๐Ÿ“ฆ ์„ค์น˜ ๋ฐ ์„ค์ •

apt-get update && apt-get upgrade -y

์ตœ์ดˆ Ubuntu Package๋ฅผ ์ตœ์‹ ํ™” ํ•ด ์ค„๊ฒŒ์š”.

 

apt-get install openjdk-11-jdk -y


์œ„์™€ ๊ฐ™์ด JDK 11์„ ์„ค์น˜ํ•ด ์ฃผ๋„๋ก ํ• ๊ฒŒ์š”.


java -version


JDK 11์ด ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜ ๋˜์–ด ์žˆ์–ด์š”.




์ด์ œ SonarQube๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์„ค์น˜ํ•ด ๋ณด๋„๋ก ํ• ๊ฒŒ์š”.

์ตœ์ดˆ SonarQube-9.5.0.56709 ์„ค์น˜ File์„ ๋‚ด๋ ค ๋ฐ›์•„ ์ฃผ๋„๋ก ํ• ๊ฒŒ์š”.


apt-get install wget net-tools vim unzip -y


๊ทธ๋Ÿฐ ๋’ค ์œ„์™€ ๊ฐ™์ด ํ•„์š”ํ•œ Package ๋“ค์„ ์„ค์น˜ํ•ด ์ค„๊ฒŒ์š”.


wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.5.0.56709.zip


๊ทธ๋Ÿฐ ๋’ค SonarQube ์„ค์น˜ File์— ๋Œ€ํ•œ ์••์ถ• File์„ ๋ฐ›์•„์ฃผ์—ˆ์–ด์š”.


unzip sonarqube-9.5.0.56709.zip


๋‚ด๋ ค ๋ฐ›์€ ์••์ถ• File์„ ์œ„์˜ ๋ช…๋ น์–ด๋กœ ํ•ด์ œํ•ด ์ฃผ์—ˆ์–ด์š”.


์••์ถ•์ด ์ž˜ ํ’€๋ฆฐ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.


mkdir -p /opt/sonarqube


SonarQube ๊ด€๋ จ File๋“ค์ด ๋“ค์–ด๊ฐˆ Directory๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์–ด์š”.


mv sonarqube-9.5.0.56709 /opt/sonarqube/sonarqube-9.5.0.56709


์„ค์น˜ File์˜ ์œ„์น˜๋ฅผ ์œ„์™€ ๊ฐ™์ด ์˜ฎ๊ฒจ ์ฃผ์—ˆ์–ด์š”.



๊ทธ๋ฆฌ๊ณ  ์œ„์™€ ๊ฐ™์ด ๊ณ„์ • ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๊ณ , ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์–ด์š”.


chown -R junyharang /opt/sonarqube/sonarqube-9.5.0.56709


์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น Directory์˜ ์†Œ์œ ๊ถŒ์„ ์ƒˆ๋กœ ๋งŒ๋“  ๊ณ„์ •์œผ๋กœ ๋ฐ”๊พธ์–ด ์ฃผ์—ˆ์–ด์š”.


 


๊ทธ๋Ÿฐ ๋’ค ์„ค์น˜ File์ด ๋‹ด๊ธด Directory ์ด๋ฆ„์„ sonarqube๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•ด ์ฃผ์—ˆ์–ด์š”.


vim /opt/sonarqube/conf/sonar.properties


์ตœ์ดˆ SonarQube ๊ธฐ๋™ ์‹œ ๋ธŒ๋ผ์šฐ์ €๋กœ ๋ถ™์„ Port ์„ค์ •์„ ํ•ด ์ค„๊ฒŒ์š”.



/opt/sonarqube/conf/sonar.properties 103~107๋ฒˆ์งธ ์ค„ ๋ณ€๊ฒฝ ์ „


์œ„์˜ 107๋ฒˆ์งธ ์ค„์— ์ฃผ์„์„ ํ•ด์ œํ•ด ์ค„๊ฒŒ์š”.

728x90

/opt/sonarqube/conf/sonar.properties 103~107๋ฒˆ์งธ ์ค„ ๋ณ€๊ฒฝ ํ›„

 

vim sonar.sh


๊ทธ๋Ÿฐ ๋’ค ์‹คํ–‰ Script๋ฅผ ๋งŒ๋“ค์–ด ์ค„๊ฒŒ์š”.


nohup java -jar /opt/sonarqube/lib/sonar-application-9.5.0.56709.jar &

 


์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด ์ฃผ์—ˆ์–ด์š”.



sh sonar.sh




์—”ํ„ฐ๋ฅผ ํ•œ๋ฒˆ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์ด ๋ ๊ฑฐ์—์š”.



์ฃผ๋‹ˆํ•˜๋ž‘์€ ํ˜„์žฌ Synology Docker๋ฅผ ํ†ตํ•ด Ubuntu 22.04๋ฅผ ์˜ฌ๋ฆฌ๊ณ , ๊ทธ ์•ˆ์— SonarQube๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์žˆ์–ด์š”.
ํ˜„์žฌ๋Š” Port Mapping์ด ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ผ ์ ‘์†ํ•  ์ˆ˜ ์—†์–ด์š”.

Port Mapping์„ ์„ค์ •ํ•ด ์ค„๊ฒŒ์š”.


์œ„์™€ ๊ฐ™์ด Port Mapping์„ ํ•ด ์ค„๊ฑฐ์—์š”.



๊ทธ๋Ÿฐ ๋’ค ๋‹ค์‹œ ์œ„์™€ ๊ฐ™์ด ๊ธฐ๋™์„ ์œ„ํ•œ Shell Script๋ฅผ ๊ธฐ๋™ ์‹œ์ผœ ์ค„๊ฒŒ์š”.


์ฃผ๋‹ˆํ•˜๋ž‘์€ ๊ธฐ๋™์ด ๋˜์ง€ ์•Š์•„ Log๋ฅผ ์‚ดํŽด ๋ณด์•˜์–ด์š”.


Log๋ฅผ ํ™•์ธํ•ด๋ณด๋‹ˆ root ๊ณ„์ •์œผ๋กœ ๊ธฐ๋™์„ ์‹œ๋„ํ•ด์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด์—์š”.



๋จผ์ € Shell Script์˜ ์†Œ์œ ๊ถŒ์„ ๋ณ€๊ฒฝํ•ด ์ฃผ๊ณ , ํ•ด๋‹น ๊ณ„์ •์œผ๋กœ ๊ธฐ๋™์‹œ์ผœ ๋ณผ๊ฒŒ์š”.





์ด๋ฒˆ์—” ์œ„์™€ ๊ฐ™์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์–ด์š”.


rm -rf /opt/sonarqube/tmep


๊ทธ๋ž˜์„œ ์œ„์™€ ๊ฐ™์ด temp File์„ ์ง€์›Œ ์ฃผ๊ณ , ๋‹ค์‹œ ๊ธฐ๋™์„ ํ•ด ๋ณด์•˜์–ด์š”.



๊ทธ๋žฌ๋”๋‹ˆ ์ด๋ฒˆ์—” ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ๋˜์—ˆ์–ด์š”.



๊ทธ๋ž˜์„œ /opt/sonarqube Directory ๋ฐ‘์— ๋ชจ๋“  ์†Œ์œ ๊ถŒ์„ junyharang ๊ณ„์ •์—๊ฒŒ ์ฃผ์—ˆ์–ด์š”.









์œ„์™€ ๊ฐ™์ด ๊ณ„์† ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ์„œ ์ž์ฒด์ ์œผ๋กœ ์žˆ๋Š” ๊ธฐ๋™ Shell Script๋ฅผ ์ž‘๋™ ์‹œ์ผฐ๋”๋‹ˆ ์ •์ƒ ์ ‘์†์ด ๋˜์—ˆ์–ด์š”.



 

์ดˆ๊ธฐ ๊ณ„์ • : admin // admin


์œ„์™€ ๊ฐ™์ด LogIn์„ ํ•˜๋ฉด ์†Œ๋‚˜ํ๋ธŒ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.




์ตœ์ดˆ Login์„ ์‹œ๋„ํ•˜๋ฉด admin ๊ณ„์ •์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฐ”๊พธ๋„๋ก ํ•  ๊ฑฐ์—์š”.








    ๐Ÿ”ฝ  Local

        ๐Ÿ“ฆ Test

์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ•œ๋ฒˆ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด ๋ณผ๊ฒŒ์š”.


์ตœ์ดˆ Manually๋ฅผ ๋ˆŒ๋Ÿฌ Project๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ๊ฒŒ์š”.



์œ„์™€ ๊ฐ™์ด Project ์ด๋ฆ„์„ ์ง€์–ด์ฃผ์—ˆ์–ด์š”.




Locally๋ฅผ ๋ˆŒ๋Ÿฌ์ค„๊ฒŒ์š”.



Generate๋ฅผ ๋ˆŒ๋Ÿฌ ๊ณ„์† ์ง„ํ–‰ํ• ๊ฒŒ์š”.




์œ„์™€ ๊ฐ™์ด Token ๊ฐ’์ด ๋‚˜์˜ค๋ฉด ์ž˜ ๊ธฐ๋กํ•ด ๋‘์–ด์•ผ ํ•ด์š”.

๊ทธ๋Ÿฐ ๋‹ค์Œ Continue๋ฅผ ๋ˆŒ๋Ÿฌ์ค„๊ฒŒ์š”.




build.gradle


์ตœ์ดˆ Project์˜ build.gradle์— ์œ„์™€ ๊ฐ™์ด plugins์— ์†Œ๋‚˜ํ๋ธŒ ์ •๋ณด๋ฅผ ๋„ฃ์–ด์ฃผ์—ˆ์–ด์š”.


๋ฐ˜์‘ํ˜•


๊ทธ๋Ÿฐ ๋’ค ํ•ด๋‹น Project์˜ Root Directory์—์„œ ์œ„์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์—ˆ์–ด์š”.




๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์ด SonarQube์— Project๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ๋ถ„์„ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

 








๐Ÿง ์ฐธ๊ณ  ์ž๋ฃŒ

 

 

 

 

Hands-on Azure DevOps: CICD Implementation for Mobile Hybrid and Web Applications Using Azure DevO... Paperback

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•