1import{u as r,_ as i}from"./WrapperPost.vue_vue_type_style_index_0_lang-bgNpJ1F0.js";import{c as s,o as u,w as c,a as e,d as a}from"./app-EMsQ9hhF.js";const h={__name:"sonarqube_code_check_setup",setup(l){const n={title:"SonarQube 代ç è´¨éæ£æ¥å·¥å
·é
ç½®",date:"2021-10-27T01:57:23.000+0800",lang:"zh",type:"note",duration:"3min",image:"https://image.pseudoyu.com/images/sonarqube_homepage.png",meta:[{property:"og:title",content:"SonarQube 代ç è´¨éæ£æ¥å·¥å
·é
ç½®"},{name:"twitter:title",content:"SonarQube 代ç è´¨éæ£æ¥å·¥å
·é
ç½®"},{property:"og:image",content:"https://image.pseudoyu.com/images/sonarqube_homepage.png"},{name:"twitter:image",content:"https://image.pseudoyu.com/images/sonarqube_homepage.png"},{name:"twitter:card",content:"summary_large_image"}]};return r({title:"SonarQube 代ç è´¨éæ£æ¥å·¥å
·é
ç½®",meta:[{property:"og:title",content:"SonarQube 代ç è´¨éæ£æ¥å·¥å
·é
ç½®"},{name:"twitter:title",content:"SonarQube 代ç è´¨éæ£æ¥å·¥å
·é
ç½®"},{property:"og:image",content:"https://image.pseudoyu.com/images/sonarqube_homepage.png"},{name:"twitter:image",content:"https://image.pseudoyu.com/images/sonarqube_homepage.png"},{name:"twitter:card",content:"summary_large_image"}]}),(m,t)=>{const o=i;return u(),s(o,{frontmatter:n},{default:c(()=>t[0]||(t[0]=[e("div",{class:"prose m-auto slide-enter-content"},[e("h2",{id:"åè¨",tabindex:"-1"},[a("åè¨ "),e("a",{class:"header-anchor",href:"#åè¨","aria-hidden":"true"},"#")]),e("p",null,"æè¿è´è´£å
¬å¸ä¸é¨å项ç®ç代ç ä»åºç®¡çå code review çï¼ç¨å°äº SonarQube è¿ä¸ä»£ç è´¨éæ£æ¥å·¥å
·ï¼éè¿éæ GitLab CIï¼è½å¤å®ç°å¨æ¯æ¬¡å并请æ±/æäº¤æ¶èªå¨æ§è¡ä»£ç è´¨éæ£æ¥å¹¶è¾åºæ£æµæ¥åã"),e("p",null,"æ¬æè®°å½äºéè¿ GitLab ä»åºå¯¼å
¥é¡¹ç®çé
ç½®å
¨æµç¨ï¼ä»¥ä¾¿å
¶ä»é¡¹ç®é
ç½®æ¶åèã"),e("h2",{id:"sonarqube-项ç®é
ç½®",tabindex:"-1"},[a("SonarQube 项ç®é
ç½® "),e("a",{class:"header-anchor",href:"#sonarqube-项ç®é
ç½®","aria-hidden":"true"},"#")]),e("h3",{id:"项ç®é¢æ¿",tabindex:"-1"},[a("项ç®é¢æ¿ "),e("a",{class:"header-anchor",href:"#项ç®é¢æ¿","aria-hidden":"true"},"#")]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/sonarqube_homepage.png",alt:"sonarqube_homepage"})]),e("p",null,"SonarQube 项ç®é¢æ¿å¦ä¸å¾æç¤ºï¼ä¼ä»¥è¯çº§çæ¹å¼å¯¹é¡¹ç®ä»£ç è´¨éè¿è¡åæãæ¯æ¬¡è¿è¡ä»£ç åæåï¼å¯ä»¥å¾ç´è§å°å¯¹ä»£ç è¿è¡å¤ç»´åº¦çåæï¼å¨å并忝åï¼æäº¤äººåå¯åç
§åæç»æå¯¹ä»£ç è¿è¡ä¿®æ¹å®åï¼åå°äºä»£ç 审é
人åä¸å¿
è¦çå·¥ä½éã"),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/sonarqube_code_detail.png",alt:"sonarqube_code_detail"})]),e("p",null,"ç¹å»å
·ä½ææ åå¯ä»¥æ·±å
¥ä»£ç æä»¶å¯¹æ£æµåºçé®é¢è¿è¡æ è¯ï¼ä¸ºäººå·¥ code review æä¾äºææåç
§ã"),e("h3",{id:"项ç®é
ç½®",tabindex:"-1"},[a("项ç®é
ç½® "),e("a",{class:"header-anchor",href:"#项ç®é
ç½®","aria-hidden":"true"},"#")]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/how_to_analyze.png",alt:"how_to_analyze"})]),e("p",null,"ç¹å»å³ä¸è§ãæ°å¢é¡¹ç®ãï¼å¯éæ©ä¸åçåææ¹å¼ï¼æ¯æ Jenkins, GitLab CI å GitHub Actions ç常ç¨ä»£ç ä»åºèªå¨å工使µæ¹å¼ï¼æ¬æå°ä¸»è¦è¯´æ GitLab CI çé
ç½®æ¹å¼ã"),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/import_gitlab_project.png",alt:"import_gitlab_project"})]),e("p",null,"éæ© GitLab CI åï¼éæ©å
³è GitLab å¸å·ä¸ç项ç®ä»åºï¼è¿è¡åç»é
ç½®ã"),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/project_code.png",alt:"project_code"})]),e("p",null,[a("以 Go 项ç®ä¸ºä¾ï¼é¦å
ï¼æä»¬éè¦æç
§æç¤ºæå¨å建 "),e("code",null,"sonar-project.properties"),a(" æä»¶å¹¶ç²è´´é
置信æ¯ã")]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/create_token.png.png",alt:"create_token.png"})]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/config_cicd_var.png",alt:"config_cicd_var"})]),e("p",null,"ç¶åéè¦ä¸ºé¡¹ç®å建 Tokenï¼å¹¶å¨ GitLab ä¸ ã设置ã-ãCI/CDã-ãåéãé
ç½®é项ä¸å¡«å Token å URL åéå¼ã"),e("h3",{id:"ci-é
ç½®",tabindex:"-1"}
1,[a("CI é
ç½® "),e("a",{class:"header-anchor",href:"#ci-é
ç½®","aria-hidden":"true"},"#")]),e("p",null,[a("è¿è¡åºæ¬é¡¹ç®é
ç½®åï¼éè¦éè¿ "),e("code",null,".gitlab-ci.yml"),a(" é
ç½® GitLab CI 工使µï¼æçé
ç½®å¦ä¸å¾æç¤ºï¼")]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/config_gitlan_ci.png",alt:"config_gitlan_ci"})]),e("p",null,[a("æä¸»è¦è®¾ç½®äºå½ä»åºè¿è¡åå¹¶è¯·æ±æ¶ï¼å¦ "),e("code",null,"src"),a(" ç®å½ä¸çä»£ç ææ¹åï¼åæ§è¡ "),e("code",null,"testing"),a(" æµæ°´çº¿ï¼éè¿ SonarQube è¿è¡ä»£ç è´¨éæ£æ¥ã")]),e("p",null,"GitLab CI ä¸è¿å¯ä»¥æ·»å é¨ç½²çèæ¬ï¼ä¸ SonarQube å·¥å
·é
å使ç¨ï¼ä»¥å®ç°å·¥ä½æµçä¼åã项ç®ç CI èæ¬éè¦æ·»å ç¸åºç Runner è¿è¡ã"),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/sonar_check_begin.png",alt:"sonar_check_begin"})]),e("p",null,"彿£æµå°åå¹¶è¯·æ±æ¶ï¼sonarqube-check ä¼è¢«è§¦åæ§è¡ï¼æç»è¿åæ§è¡ç»æã"),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/sonar_check_success.png",alt:"sonar_check_success"})]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/sonarqube_status.png",alt:"sonarqube_status"})]),e("p",null,"æ¤æ¶ç¹å¼ SonarQube ä¸é¡¹ç®ç页é¢ï¼åå·²ç»æäºåæä¿¡æ¯ï¼æ¬æ¬¡ä»£ç è´¨éæ£æ¥å®æã"),e("h2",{id:"æ»ç»",tabindex:"-1"},[a("æ»ç» "),e("a",{class:"header-anchor",href:"#æ»ç»","aria-hidden":"true"},"#")]),e("p",null,"以ä¸å°±æ¯å¯¹ GitLab ä»åºä¸ç°æ Go 项ç®é
ç½® SonarQube 代ç è´¨éæ£æ¥å·¥å
·çå
¨æµç¨ã代ç è´¨éèªå¨åæ£æ¥æ¯å¼åè¿ç»´è§èæµç¨ä¸éè¦çç¯èï¼å°¤å
¶æ¯å¨å¢é项ç®ä¸ï¼å¥½çè§èæå©äºå·¥ä½æµçä¼åï¼æå项ç®çæ´ä½è´¨éã"),e("p",null,"åç»ä¹å°ä¼å¯¹å·¥ä½ä¸ç¨å°çå¼åè¿ç»´è§è弿ºå·¥å
·é
ç½®ä¸ä½¿ç¨è¿è¡è®°å½ï¼å¦æéæ¼ï¼æ¬è¯·äº¤æµææ£ã"),e("h2",{id:"åèèµæ",tabindex:"-1"},[a("åèèµæ "),e("a",{class:"header-anchor",href:"#åèèµæ","aria-hidden":"true"},"#")]),e("blockquote",null,[e("ol",null,[e("li",null,[e("a",{href:"https://docs.sonarqube.org/latest/",target:"_blank",rel:"noopener"},"SonarQube Document")])])])],-1)])),_:1})}}};export{h as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.