連續(xù)代碼質(zhì)量變得容易
連續(xù)檢查
SonarQube支持連續(xù)檢查實(shí)踐。
在構(gòu)建SonarQube平臺(tái)時(shí),我們從一開始就考慮了持續(xù)檢查。因此,它附帶了支持該實(shí)踐所需的一切,質(zhì)量門,泄漏管理,分支分析,并行報(bào)告處理,治理功能,高可用性,較短的反饋循環(huán)等。
質(zhì)量門
SonarQube提供了GO / NO-GO門以促進(jìn)應(yīng)用程序推廣。
質(zhì)量門是SonarQube的一個(gè)重要的開箱即用功能。它提供了在每次分析時(shí)知道應(yīng)用程序是否通過或未通過發(fā)布標(biāo)準(zhǔn)的能力。換句話說,它在每次分析時(shí)都告訴您應(yīng)用程序是否“按質(zhì)量”準(zhǔn)備好進(jìn)行生產(chǎn)。
多語言
我們的解決方案涵蓋25種以上的編程語言。
通過提供對(duì)多種語言的支持,包括Java,C#,C / C ++,T-SQL,TypeScript,JavaScript和COBOL,SonarQube提供了一個(gè)涵蓋大量應(yīng)用程序的獨(dú)特解決方案。
插件庫(kù)
SonarQube體驗(yàn)可以通過插件來增強(qiáng)。
SonarQube提供了60多個(gè)社區(qū)和商業(yè)插件,可輕松使用其他語言,指標(biāo)和頁面來增強(qiáng)您的體驗(yàn)。還可以開發(fā)插件來滿足組織內(nèi)的特定需求。
優(yōu)點(diǎn)
我們?yōu)檎麄€(gè)開發(fā)組織增值。
無論您在開發(fā)組織中的角色如何,SonarSource解決方案都可以增加價(jià)值,因?yàn)槲覀儞碛心枰淖钕冗M(jìn)功能,以最大限度地提高質(zhì)量并管理軟件產(chǎn)品組合中的風(fēng)險(xiǎn)。
對(duì)于開發(fā)人員
軟件開發(fā)人員最終對(duì)代碼質(zhì)量負(fù)責(zé)。
代碼質(zhì)量是所謂的非功能性需求的一部分,因此是開發(fā)人員的直接責(zé)任。因?yàn)榇a質(zhì)量不應(yīng)該推遲到以后,所以我們的解決方案在開發(fā)過程的每個(gè)步驟(從IDE到發(fā)行版)(包括任何中間促銷活動(dòng))中都提供反饋。
這使開發(fā)人員可以就代碼質(zhì)量做出早期且受過良好教育的決策,使他們能夠做得更好,并交付更好的軟件。
用于DevOps
DevOps團(tuán)隊(duì)需要確保正確構(gòu)建軟件。
DevOps團(tuán)隊(duì)負(fù)有許多責(zé)任。其中包括支持開發(fā)過程,自動(dòng)化測(cè)試,確保質(zhì)量,提高生產(chǎn)率……并最終實(shí)現(xiàn)持續(xù)部署。良好的代碼質(zhì)量是實(shí)現(xiàn)所有這些目標(biāo)的必要條件,盡管還不夠。我們的解決方案提供了可在任何構(gòu)建/測(cè)試/部署步驟中添加的代碼質(zhì)量收費(fèi)門。
這使devOps團(tuán)隊(duì)可以自動(dòng)執(zhí)行一組質(zhì)量標(biāo)準(zhǔn),從而確保組織交付更好的軟件。
對(duì)于高管
SonarSource解決方案可降低風(fēng)險(xiǎn)并提高團(tuán)隊(duì)生產(chǎn)力。
管理人員需要能夠安全地操作軟件,并且其成本能夠證明投資回報(bào)是合理的。我們的解決方案使高管一目了然,他們面臨的運(yùn)營(yíng)風(fēng)險(xiǎn)以及緩解風(fēng)險(xiǎn)的成本。它也具有開箱即用的功能,可以系統(tǒng)地提高可維護(hù)性,從而提高開發(fā)團(tuán)隊(duì)的長(zhǎng)期生產(chǎn)力。
這使高管可以使用風(fēng)險(xiǎn)控制方法以最佳成本確保其組織交付更好的軟件。
安全設(shè)置
強(qiáng)制要求必須登錄SonarQube
用管理員賬號(hào)登錄SonarQube,打開Administration > Configuration > General Settings > Security,開啟Force user authentication,點(diǎn)擊Save保存生效。
開啟該選項(xiàng)后,不允許匿名運(yùn)行mvn sonar:sonar代碼掃描,必須提供SonarQube Token。
修改默認(rèn)的項(xiàng)目可見性為private
用管理員賬號(hào)登錄SonarQube,打開Administration > Projects > Management,修改Default visibility of new projects為private。
這樣新建項(xiàng)目后,只有該項(xiàng)目的授權(quán)用戶才能看到該項(xiàng)目的代碼。
對(duì)已有的項(xiàng)目,打開項(xiàng)目級(jí)別的Adminstration > Permissions,手工修改項(xiàng)目可見性。
去掉Anyone組的權(quán)限
用管理員賬號(hào)登錄SonarQube,打開Administration > Security > Global Permissions,去掉Anyone組的所有權(quán)限。
去掉Project Creator的權(quán)限
用管理員賬號(hào)登錄SonarQube,打開Administration > Security > Permission Templates,打開Default template,去掉Project Creator的所有權(quán)限。
生成用戶Token
用該用戶登錄SonarQube,打開MyAccount > Security,來生成一個(gè)Token。
在按項(xiàng)目作多租戶隔離的場(chǎng)景,需要為每個(gè)項(xiàng)目在SonarQube上創(chuàng)建一個(gè)用戶,并使用該用戶的Token來作代碼掃描。
設(shè)置項(xiàng)目賬號(hào)權(quán)限
用管理員賬號(hào)登錄SonarQube,打開項(xiàng)目級(jí)別的Adminstration > Permissions,選擇Users,輸入用戶名稱查詢,然后設(shè)置該用戶權(quán)限。一般只需要設(shè)置Browse,See Source Code和Execute Analysis即可。
在按項(xiàng)目作多租戶隔離的場(chǎng)景,需要為每個(gè)項(xiàng)目在SonarQube上創(chuàng)建一個(gè)用戶,并設(shè)置只有該用戶才有相應(yīng)權(quán)限。