購買 SonarQube 作為測試自動(dòng)化的質(zhì)量門由琳達(dá)陳在 2017年4月13日 |4分鐘閱讀1SonarQube (原名聲納) 被廣泛用于各種項(xiàng)目的代碼質(zhì)量管理工具, 提供跟蹤和提高源代碼質(zhì)量的功能。此類功能還可用于測試自動(dòng)化, 以量化測試腳本的質(zhì)量, 因?yàn)樽詣?dòng)檢測腳本的本質(zhì)是代碼。
測試自動(dòng)化的 SonarQube 特性
為不同的利益相關(guān)者提供定制的度量標(biāo)準(zhǔn)每個(gè)項(xiàng)目都有不同的利益干系人, 如客戶、項(xiàng)目經(jīng)理、架構(gòu)師、開發(fā)人員和測試人員, 他們擁有完成項(xiàng)目的各種技術(shù)或知識(shí)。因此, 他們對(duì)項(xiàng)目質(zhì)量的關(guān)注是多種多樣的。不同群體的利益干系人的質(zhì)量度量標(biāo)準(zhǔn)是不同的, 這為查看 SonarQube 的價(jià)值提供了一個(gè)良好的環(huán)境, 因?yàn)樵摴ぞ邽椴煌挠脩籼峁┝硕ㄖ频亩攘繕?biāo)準(zhǔn)。 下表顯示了針對(duì)不同項(xiàng)目角色的 SonarQube 質(zhì)量度量的一個(gè)很好的示例。
支持項(xiàng)目的多種編程語言盡管用 java 編寫, SonarQube 可以在大約20多個(gè)不同的編程語言 (包括 java、Python、c/c++) 中分析代碼??梢宰詣?dòng)檢測到不同的編程語言, 并調(diào)用相應(yīng)的語言分析器。因此, 即使目標(biāo)測試腳本由多種不同的編程語言組成,sonarqube, 聲納仍然能夠跟蹤、分析和創(chuàng)建有關(guān)代碼質(zhì)量的報(bào)告。
使用行業(yè)標(biāo)準(zhǔn) (代碼分析器) 提供測試規(guī)則在更大的圖片中, SonarQube 提供了行業(yè)規(guī)則模板, 用戶可以根據(jù)需要自定義質(zhì)量規(guī)則。對(duì)于自動(dòng)測試, 可以應(yīng)用一堆規(guī)則。下面提供了示例規(guī)則:
除了檢查現(xiàn)有項(xiàng)目的源代碼, 為了進(jìn)行自動(dòng)測試, 聲納可能需要根據(jù)某些要求停用或更新一些規(guī)則。
示例規(guī)則可以刪除, 如下所示:
示例規(guī)則可以更新如下:
除了上面給出的特性, SonarQube 還具有諸如 DevOps 集成、聚合儀表板、時(shí)間機(jī)器等功能, 所有這些都可以幫助測試自動(dòng)化項(xiàng)目變得更具可追溯性和可見性。
如何通過與數(shù)據(jù)庫 mysql 的集成來設(shè)置 SonarQube
設(shè)置 SonarQube 是很簡單的。但是, 不建議將嵌入在 SonarQube 中的默認(rèn)數(shù)據(jù)庫 H2 用于生產(chǎn)用途, 因?yàn)樗鼰o法進(jìn)行縮放。 為了更好的維護(hù)和可伸縮性, 我們建議用 mysql 這樣的另一個(gè)數(shù)據(jù)庫替換 H2。下面是在 windows 平臺(tái)中為 SonarQube 設(shè)置 mysql 的一個(gè)示例。
前提
在您的計(jì)算機(jī)上安裝 Java (Oracle JRE 8 開始或 OpenJDK 8 起)。步驟:
1.Install. 用 mysql 建立數(shù)據(jù)庫
a. 從 ?并安裝, 然后啟動(dòng) mysql
b. 為聲納創(chuàng)建數(shù)據(jù)庫, 包括創(chuàng)建用于訪問數(shù)據(jù)庫的管理員帳戶。例如, 通過在 sql 下運(yùn)行, 使用用戶帳戶聲納和密碼聲納創(chuàng)建名為聲納的數(shù)據(jù)庫:










Ansible SonarQube 升級(jí)的角色
你可能知道, 并希望使用 SonarQube。這是一個(gè)偉大的工具, 是積極的發(fā)展和改善。這是偉大的, 如果你是一個(gè)開發(fā)使用 SonarQube。但是, 如果您碰巧管理 SonarQube 實(shí)例, 則由于升級(jí)指南由11步驟組成, 因此不斷升級(jí)非常麻煩。
停止舊的 SonarQube 服務(wù)器
并解壓新的 SonarQube 分布在一個(gè)新鮮的目錄, 讓我們說 NEW_SONARQUBE_HOME
使用默認(rèn)的 H2 數(shù)據(jù)庫啟動(dòng)它, 并使用更新中心安裝您需要的插件
手動(dòng)安裝任何自定義插件
停止新服務(wù)器
更新聲納的內(nèi)容. 屬性和包裝. 配置文件位于 NEW_SONARQUBE_HOME/配置目錄中, 其內(nèi)容與 OLD_SONARQUBE_HOME/配置目錄中的相關(guān)文件 (web 服務(wù)器 URL、數(shù)據(jù)庫設(shè)置等) 有關(guān)。不-粘貼舊文件
如果使用了自定義 JDBC 驅(qū)動(dòng)程序, 請(qǐng)將其到 NEW_SONARQUBE_HOME/擴(kuò)展/jdbc 驅(qū)動(dòng)程序/
備份數(shù)據(jù)庫
刪除數(shù)據(jù)/es 目錄
啟動(dòng)新的 web 服務(wù)器
http://localhost:9000/setup (用您自己的 URL 替換 'localhost:9000') 來瀏覽并按照安裝說明進(jìn)行操作
這是一個(gè)太多的步驟, 手動(dòng)執(zhí)行。因此, 我決定通過為它編寫一個(gè) Ansible 的角色來實(shí)現(xiàn)自動(dòng)化。
初始設(shè)置
在我開始編寫 Ansible 劇本之前, 我需要找到一種方法來測試我的代碼。所以我開始與流浪漢旋轉(zhuǎn)了一個(gè)虛擬機(jī), 并提供了一個(gè)簡單的腳本。這是需要有類似的環(huán)境, 以我們的實(shí)際 SonarQube 生產(chǎn)實(shí)例。我能夠增量地構(gòu)建我的 Ansible 劇本并在這個(gè) VM 上測試它。很快我就明白了, 與流浪漢一起工作會(huì)減慢我的速度, 因?yàn)槲倚枰刂铆h(huán)境, 而不是的預(yù)期。所以我決定考慮泊塢窗。
用于測試的泊塢窗
我找到了正式的 SonarQube 泊塢窗圖像, 但無法使用,中國sonarqube安全審計(jì), 因?yàn)槲覀兊?SonarQube 實(shí)例安裝在 CentOS 和官fang圖像使用不同的基礎(chǔ)圖像。另外, 我需要自定義特定的 SonarQube 版本我想開始。因此, 我創(chuàng)建了我們自己的 Dockerfile 與 CentOS 6 基地和 Ansible 安裝。
此泊塢窗映像不需要啟動(dòng) SonarQube, 因?yàn)槲抑皇窍腧?yàn)證是否進(jìn)行了正確的文件更改,中國sonarqube 中文, 而我的 Ansible 手冊(cè)沒有錯(cuò)誤。升級(jí)的第yi步之一就是關(guān)閉服務(wù)器。
我將我的劇本裝入容器, 并在該容器內(nèi)運(yùn)行 Ansible, 對(duì)該本地環(huán)境進(jìn)行了更改。
當(dāng)前腳本的路徑
TESTS_DIR = $ (cd '$ (dirname' $ {BASH_SOURCE [0]} ')' & & 密碼 '
# 命令測試劇本
TEST_COMMAND = 'cd/行動(dòng) & & ansible-劇本 $ @
-我 ' 本地主機(jī) '-c
升級(jí)-聲納 database.yml '
# 運(yùn)行容器安裝行動(dòng)為卷
泊塢 run-v '$ TESTS_DIR/.。/行動(dòng)/:/行動(dòng) '
'聲納-升級(jí)-測試'/'垃圾/bash-c' $ {TEST_COMMAND} '
在泊塢窗中運(yùn)行我的劇本大大減少了反饋回路, 所以我決定泊塢窗是走的路。你可以看看我所有的腳本在 GitHub
Ansible 角色
我一步一步地往前走, 我到達(dá)了一個(gè)點(diǎn), 一切似乎都在工作, 我有一個(gè)非常有用的 Ansible 的角色在我的手中。它尚未發(fā)布到 Ansible Galaxy, 但您可以在 GitHub 的 SonarQube 升級(jí) Ansible 角色項(xiàng)目下找到源文件和文檔。
當(dāng)前 Ansible 角色通過在當(dāng)前位置旁邊創(chuàng)建新安裝來升級(jí) SonarQube。這提供了回滾的方法 (如果需要)。
此時(shí), 角色執(zhí)行以下任務(wù):
確保特定的根用戶存在于聲納安裝
在所有安裝所在的目錄中創(chuàng)建聲納. sh
確保 SonarQube 服務(wù)存在
停止 SonarQube
新版本
備份數(shù)據(jù)庫
和安裝插件
將自定義配置應(yīng)用于新實(shí)例
確保刪除數(shù)據(jù)/es
重新 SonarQube 服務(wù)啟動(dòng)新版本
開始 SonarQube
手動(dòng)步驟
這個(gè)過程仍然需要幾個(gè)手動(dòng)步驟。
在運(yùn)行升級(jí)手冊(cè)之前, 應(yīng)手動(dòng)確保在升級(jí)過程中要安裝的插件列表是xin的。您可以從 SonarQube 的管理視圖中獲得xin支持的版本號(hào)。
根據(jù) SonarQube 的建議, 此 Ansible 角色不僅以前安裝的配置, 而且使用帶有變量的模板來為新實(shí)例創(chuàng)建配置。這意味著在執(zhí)行升級(jí)之前, 開發(fā)人員可以將模板和基本配置與新的 SonarQube 進(jìn)行比較。雖然這是一個(gè)手動(dòng)步驟, 但與以前的操作相比,代理商sonarqube開源代碼質(zhì)量管理軟件, 它更容易, 因?yàn)榭梢允褂?IDE 而不僅僅是從命令行中的 diff 工具進(jìn)行比較。
這兩個(gè)步驟都需要后續(xù)的手動(dòng)升級(jí), 我認(rèn)為這些升級(jí)準(zhǔn)備活動(dòng)。




SonarSource
在這些更復(fù)雜的環(huán)境中, 組織必須做更多的事情。
競爭環(huán)境, 資源很少和/或減少。他們必須彌合 everincreasing
它與業(yè)務(wù)的新形式的社會(huì)參與之間的差距, 并抗衡
隨著更多的要求創(chuàng)新的應(yīng)用程序, 滿足業(yè)務(wù)和
消費(fèi)者的需求。
企業(yè)項(xiàng)目在激烈的壓力下的水平和率
技術(shù)變化要求部門協(xié)同工作, 包括業(yè)務(wù)干系人
和跨 IT、開發(fā)、質(zhì)量和運(yùn)營的管理人員, 以便在競爭中生存。
正如我們看到的組織轉(zhuǎn)向復(fù)雜的采購, 以解決這些業(yè)務(wù)和
技術(shù)需求, 我們看到了對(duì)軟件分析、自動(dòng)化和通用過程的需求
通過.對(duì)于 IDC 來說, 復(fù)雜的采購意味著利用外部服務(wù)提供商的資源
(如陸上和近海 SIs), 來自商業(yè)、IT、基礎(chǔ)設(shè)施的內(nèi)部資源,
承包商, 并使用開源軟件 (OSS) 解決方案和組件。
需要建立伙伴關(guān)系和使用一系列資源, 要求管理、自動(dòng)化、
和質(zhì)量的協(xié)調(diào)。代碼質(zhì)量的可見性成為關(guān)鍵, 有助于提高
行為, 以產(chǎn)生更好的軟件和地圖團(tuán)隊(duì)的適當(dāng)類型的項(xiàng)目給
經(jīng)驗(yàn)水平和執(zhí)行 (即使機(jī)會(huì)成為教育團(tuán)隊(duì)
更有效地執(zhí)行)。服務(wù)提供商和內(nèi)部員工都需要 '他們的游戲' 與
關(guān)于軟件的創(chuàng)建、適當(dāng)?shù)馁|(zhì)量和缺陷的積壓。'技術(shù)債務(wù)' 只能
識(shí)別和解決, 如果它是可見的, 可以通過適當(dāng)?shù)淖詣?dòng)化工具啟用和
過程策略的采用和分析, 以了解影響。
這一 IDC 技術(shù)聚焦將討論改進(jìn)軟件分析方法的必要性,
缺陷管理、安全和度量, 通過主動(dòng)可見性來獲得業(yè)務(wù)和 IT 好處。
那些不懂歷史的人注定要重蹈覆轍;這句諺語也適用于無效
軟件創(chuàng)建、質(zhì)量和缺陷緩解和解決方法。
不斷變化的質(zhì)量觀
隨著企業(yè)越來越依賴于技術(shù)和軟件來提供產(chǎn)品,
CIO 的工作正在轉(zhuǎn)變。預(yù)算沒有增加, 但業(yè)務(wù)期望它能夠
在高度復(fù)雜的環(huán)境中比以前更快地交付新的業(yè)務(wù)價(jià)值
提高了對(duì)質(zhì)量的期望。此外, 有一種期望, 它會(huì)變得更清楚
新的業(yè)務(wù)目標(biāo), 并將 IT 優(yōu)先級(jí)與之相匹配。一個(gè)關(guān)鍵的挑戰(zhàn)是如何使
更快地交付更高質(zhì)量的應(yīng)用程序, 以滿足業(yè)務(wù)和客戶需求。它, 并
cio 必須超越提高 IT 效率以實(shí)現(xiàn)業(yè)務(wù)創(chuàng)新, 并提供
具有持續(xù)部署和改進(jìn)的軟件實(shí)踐的客戶體驗(yàn)。和一個(gè)
基本的構(gòu)建模塊是代碼分析和管理。
缺乏對(duì)代碼質(zhì)量的可見性, 以及導(dǎo)致問題的代碼更加明顯
和更多的削弱企業(yè)現(xiàn)在由于能見度和曝光要求
移動(dòng)和其他面向客戶的應(yīng)用程序。這已經(jīng)成為高管們的問題,
那些在代碼創(chuàng)建級(jí)別的組織。
開發(fā)和提供高質(zhì)量的軟件版本和新的面向客戶的應(yīng)用程序
時(shí)間是一個(gè)越來越大的挑戰(zhàn), 特別是對(duì)于那些必須與復(fù)雜的
與遺留系統(tǒng)和資源相結(jié)合的現(xiàn)代技術(shù)網(wǎng)絡(luò)。組織必須
解決內(nèi)部業(yè)務(wù)的需求-企業(yè)應(yīng)用程序的擴(kuò)展和可用性
移動(dòng)/社會(huì)/云平臺(tái)-以及滿足客戶/消費(fèi)者對(duì)可用性的需求
創(chuàng)新的應(yīng)用。然而, 如何做到這一點(diǎn), 而不提供洞察問題, 因?yàn)樗鼈兪?/p>
無意中創(chuàng)建的?
可以做些什么來提高整體軟件質(zhì)量以減少問題和風(fēng)險(xiǎn), 同時(shí)
加快發(fā)布周期, 使新的服務(wù)和產(chǎn)品更快地投放市場?這
要求對(duì)軟件漏洞和缺陷進(jìn)行有效和早期的管理, 以使
主動(dòng)的質(zhì)量戰(zhàn)略和降低成本。然而, 如何才能減輕現(xiàn)有的不良行為
hao完成這些目標(biāo)?






溫馨提示:以上是關(guān)于代理商sonarqube開源代碼質(zhì)量管理軟件-華克斯(推薦商的詳細(xì)介紹,產(chǎn)品由蘇州華克斯信息科技有限公司為您提供,如果您對(duì)蘇州華克斯信息科技有限公司產(chǎn)品信息感興趣可以聯(lián)系供應(yīng)商或者讓供應(yīng)商主動(dòng)聯(lián)系您 ,您也可以查看更多與行業(yè)專用軟件相關(guān)的產(chǎn)品!
免責(zé)聲明:以上信息由會(huì)員自行提供,內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由發(fā)布會(huì)員負(fù)責(zé),天助網(wǎng)對(duì)此不承擔(dān)任何責(zé)任。天助網(wǎng)不涉及用戶間因交易而產(chǎn)生的法律關(guān)系及法律糾紛, 糾紛由您自行協(xié)商解決。
風(fēng)險(xiǎn)提醒:本網(wǎng)站僅作為用戶尋找交易對(duì)象,就貨物和服務(wù)的交易進(jìn)行協(xié)商,以及獲取各類與貿(mào)易相關(guān)的服務(wù)信息的平臺(tái)。為避免產(chǎn)生購買風(fēng)險(xiǎn),建議您在購買相關(guān)產(chǎn)品前務(wù)必 確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。過低的價(jià)格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請(qǐng)采購商謹(jǐn)慎對(duì)待,謹(jǐn)防欺詐,對(duì)于任何付款行為請(qǐng)您慎重抉擇!如您遇到欺詐 等不誠信行為,請(qǐng)您立即與天助網(wǎng)聯(lián)系,如查證屬實(shí),天助網(wǎng)會(huì)對(duì)該企業(yè)商鋪?zhàn)鲎N處理,但天助網(wǎng)不對(duì)您因此造成的損失承擔(dān)責(zé)任!
聯(lián)系:tousu@tz1288.com是處理侵權(quán)投訴的專用郵箱,在您的合法權(quán)益受到侵害時(shí),歡迎您向該郵箱發(fā)送郵件,我們會(huì)在3個(gè)工作日內(nèi)給您答復(fù),感謝您對(duì)我們的關(guān)注與支持!
增值電信業(yè)務(wù)經(jīng)營許可證:粵B2-20191121 | 網(wǎng)站備案編號(hào):粵ICP備10200857號(hào)-23 | 高新技術(shù)企業(yè):GR201144200063 | 粵公網(wǎng)安備 44030302000351號(hào)
Copyright ? 2006-2025 深圳市天助人和信息技術(shù)有限公司 版權(quán)所有 網(wǎng)站統(tǒng)計(jì)