|
sonarsource
成功的組織在過程-分析向前移動(dòng), 并將其作為整個(gè)軟件開發(fā)生命周期的一部分進(jìn)行迭代。--開發(fā)和測(cè)試和業(yè)務(wù)方法以及正在向敏捷模型演進(jìn)-持續(xù)的價(jià)值生成/持續(xù)改進(jìn)/連續(xù)檢查是提高的基本戰(zhàn)略。idc 觀察到, 傳統(tǒng)的代碼方法通常在開發(fā)過程結(jié)束時(shí)成為檢查表項(xiàng)目時(shí)失敗。此 idc 技術(shù)-討論了改進(jìn)軟件分析、缺陷管理、安全性和度量的方法的-性, 以通過主動(dòng)可見性來獲得業(yè)務(wù)和 it 好處。idc 建議評(píng)估和采用自動(dòng)化的軟件分析方法, 如 sonarqube 和 sonarsource 提供的, 以改進(jìn)軟件策略。
sonarsource簡(jiǎn)介
具有 artifactory 和 sonarqube 集成的連續(xù)交付準(zhǔn)備 gradle 項(xiàng)目當(dāng)玩弄持續(xù)集成/交付/部署的概念時(shí), 我在 gradle 構(gòu)建以及如何將它們集成到這些概念中而苦苦掙扎。gradle 在構(gòu)建工具環(huán)境中越來越重要, 因此我創(chuàng)建了一個(gè)關(guān)于如何使用它的模板或原型。我選擇了一個(gè)場(chǎng)景, 我看到了 maven 和其他工具已經(jīng)實(shí)現(xiàn)了:
推動(dòng)風(fēng)投轉(zhuǎn)向中央風(fēng)投將更改標(biāo)記為特定 id 并將其推回中央 vcs使用單元測(cè)試執(zhí)行生成執(zhí)行聲納分析執(zhí)行 artifactory 上載此鏈?zhǔn)鼓軌虿粩嗟貙⒚總(gè)更改設(shè)置標(biāo)記、單元測(cè)試、分析并上載到您的工件存儲(chǔ)庫, 以備部署。簡(jiǎn)而言之, 這是 (從我的角度來看) 持續(xù)交貨的精神。
環(huán)境:
gradle 3.5 (通過項(xiàng)目的 gradle 包裝)artifactory: 5.2. 1-oss, 運(yùn)行在 http://localhost:8081/artifactorysonarqube: 6.3.1, 跑在 http://localhost:9000注意: 在這種情況下, sonarqube 和 artifactory 將由管理員用戶使用。在實(shí)際生產(chǎn)環(huán)境中, 必須將其更改為更安全的方式
首先, 我在 artifactory 中添加了一個(gè)本地 (m2-compatible) 和兩個(gè)遠(yuǎn)程存儲(chǔ)庫:
庫-釋放-本地 是為了保存我自己的工件 (這就是為什么它被稱為 本地)插件-gradle-org 指向遠(yuǎn)程回購 https://plugins.gradle.org/m2/ (這是 gradle 插件所必需的)repo1-maven-org 指向遠(yuǎn)程回購 http://repo1.maven.org/maven2/ (這是項(xiàng)目的所有其他依賴項(xiàng)所必需的)此外, 我創(chuàng)建了一個(gè)虛擬的回購 釋放 包含所有 3 mentionend 回購。這使得從一個(gè)位置獲取所有發(fā)布的庫更容易。
該項(xiàng)目本身并不真正重要的這篇文章。我認(rèn)為這是一個(gè)標(biāo)準(zhǔn)的 java 項(xiàng)目, 遵循 maven/gradle 的慣例。更有趣的部分是 gradle 文件:
gradle/包裝/gradle 包裝。生成. gradle憑據(jù). 屬性gradle. 屬性設(shè)置. gradle
sonarlint –為 c#、vb.net、java、javasc ript、php 和 python 提供一個(gè)免費(fèi)的靜態(tài)分析工具5月3日, 2017code , -, toolingsonar 皮棉, 視覺工作室這是一個(gè). net 的重點(diǎn)帖子。
-興看到人們正在構(gòu)建的東西, 現(xiàn)在 c# 編譯器是開源的。我們實(shí)際上是在工具中游泳, 這不是一件壞事, 但我需要考慮我的開發(fā)管道中有多少工具。我目前在日常工作中使用 resharper 和前綴。ndepend 和 pvs-工作室每周一次的基礎(chǔ)上,sonarsource/sonarqube在線咨詢, 但只在個(gè)人和開源項(xiàng)目。我可以在混合中添加另一個(gè)嗎?-!這不是侵入性的, 不會(huì)與 resharper 或 vs 代碼提示沖突。在報(bào)告代碼相關(guān)問題的方式上也有一些輕微的幽默。
通過 ide 的用法
使用此工具的選項(xiàng)尚未更改, 但它支持三shou歡迎的 ide 的:
intellij視覺工作室蝕全mian的語言支持來自 intellij 和 eclipse 的 ide。如果您使用的是 visual studio (vs), 那么您將得到一個(gè)-的 c# 和 vb.net 規(guī)則集。
您也可以在命令行中使用它, 這對(duì)于連續(xù)生成管線來說是-的。需要通過 msbuild 進(jìn)行分析, 因?yàn)樗鼈兊拿钚泄ぞ弋?dāng)前未按廣告方式工作。運(yùn)行分析是很容易的, 而且我可以在構(gòu)建的末尾處理一個(gè) xml 文件, 以生成報(bào)告或存儲(chǔ)某處以便隨著時(shí)間的推移進(jìn)行分析。需要注意的一點(diǎn)是, xml 報(bào)告將在每個(gè)項(xiàng)目目錄中生成一次。
msbuild mysolution.sln/p: runcode-ysis = true/p: code-ysislogfile = myxmlreport. xml1msbuild mysolution.sln/p: runcode-ysis = true/p: code-ysislogfile = myxmlreport. xml與 visual studio 中的規(guī)則交互
有一個(gè)廣泛的214規(guī)則 c# 和62的 vb.net, 雖然它們不是所有的默認(rèn)啟用?梢詫(duì)規(guī)則進(jìn)行定制, 以便為一個(gè)項(xiàng)目運(yùn)行一個(gè)規(guī)則集, 并為另一個(gè)項(xiàng)目設(shè)置另一個(gè)規(guī)則集, 我將在短期內(nèi)解釋。
在真正的 vs 代碼, 違反了其中的一個(gè)規(guī)則得到一個(gè)彎曲線下面的代碼行, 然后可以處理通過按 ctrl+。還有漂亮的功能, 這是新的 vs2017, 它使工作與分析儀更愉快。它不僅允許我修復(fù)當(dāng)前正在查看的問題, 而且還可以解決相同的問題文檔、項(xiàng)目或解決方案。-。
正如您在下面所看到的, 還有用于禁止規(guī)則的選項(xiàng)。您可以內(nèi)聯(lián)或在它為您創(chuàng)建的全局抑制文件中執(zhí)行此項(xiàng)。
# 雜注指令還有一個(gè)說明作為注釋, 它可能對(duì)其他開發(fā)人員有幫助。通常我需要查找雜注代碼, 所以這是一個(gè)-的 vs 功能, 提高了整個(gè)開發(fā)人員的經(jīng)驗(yàn)。
我真正喜歡的另一個(gè)特性是, 這些-給出了一個(gè)簡(jiǎn)短的-, 解釋了規(guī)則沖突背后的原因。這個(gè)-的-是真正引起共鳴的東西, 因?yàn)槲也幌矚g注釋代碼。應(yīng)刪除死代碼。如果有機(jī)會(huì), 你認(rèn)為你會(huì)需要它后, 那么沒有問題, 這就是源代碼管理的是!
如果您需要完整的規(guī)則列表, 我發(fā)現(xiàn)聯(lián)機(jī)幫助非常有用, 因?yàn)槟梢酝ㄟ^各種帶有標(biāo)記的規(guī)則類型進(jìn)行篩選。
定制規(guī)則
與 vs works 的代碼分析方式保持一致, 您可以通過右鍵單擊分析器節(jié)點(diǎn) invs 并選擇 打開活動(dòng)規(guī)則集 來訪問規(guī)則列表。
從那里, 規(guī)則集只是另一個(gè)類別節(jié)點(diǎn)。如果您想了解有關(guān)定制規(guī)則集的更多信息, 我有一個(gè)關(guān)于 visual studio 代碼分析的博客文章, 它將在更深入地進(jìn)行。
一個(gè)知道的-
我無法得到規(guī)則運(yùn)行在構(gòu)建和不斷得到這個(gè)錯(cuò)誤。
- ca0064: 由于無法加載指ding的規(guī)則集或不包含任何托管代碼分析規(guī)則, 因此未執(zhí)行任何分析。
我確實(shí)在 sonarlint 谷歌集團(tuán)發(fā)布了一個(gè)問題, 但據(jù)我所知, 它是孤立于我的機(jī)器。如果發(fā)生這種情況, 您需要添加分析器程序集 sonar-yzer.csharp.dll, 如下所示。
如果希望分析在生成時(shí)運(yùn)行, 請(qǐng)通過 項(xiàng)目屬性 并單擊 在生成時(shí)啟用代碼分析, 在每個(gè)項(xiàng)目基礎(chǔ)上啟用分析。
北京
上海
天津
重慶
河北
山西
內(nèi)蒙古
遼寧
吉林
黑龍江
江蘇
浙江
安徽
福建
江西
山東
河南
湖北
湖南
廣東
廣西
海南
四川
貴州
云南
西藏
陜西
甘肅
青海
寧夏
新疆
本站圖片和信息均為用戶自行發(fā)布,用戶上傳發(fā)布的圖片或文章如侵犯了您的合法權(quán)益,請(qǐng)與我們聯(lián)系,我們將及時(shí)處理,共同維護(hù)誠(chéng)信公平網(wǎng)絡(luò)環(huán)境!
ICP備案:滇ICP備13003982號(hào)
滇公網(wǎng)安備 53011202000392號(hào)
信息侵權(quán)/舉報(bào)/投訴處理
版權(quán)所有 ©100招商網(wǎng) 防騙須知 緩存時(shí)間:2026/3/16 2:54:36