您好,歡迎蒞臨華克斯,歡迎咨詢(xun)...
先生: |
SonarSource
SonarQube是一個開源平(ping)臺,于2007年以Sonar的名義推(tui)出(chu),近(jin)年來(lai)成為世界代碼質量管理體系(xi)的,以其持續(xu)的代碼質量檢測(ce)而著稱(cheng)。
它目前支持(chi)25種語言,其中一些包(bao)括Java,C / C ++,C#,PHP,Flex,Groovy,JavaScript,Python,PL / SQL和COBOL,它也經常被用作Android開發的一部分。
它是(shi)有(you)用的(de),因為它提供全mian的(de)自(zi)動化分析工具,并與Maven,Ant,Gradle和其他持續(xu)集(ji)成工具集(ji)成。它報告了重復(fu)(fu)的(de)代(dai)(dai)(dai)碼,編(bian)碼標準,單元測試,代(dai)(dai)(dai)碼覆蓋率,復(fu)(fu)雜代(dai)(dai)(dai)碼,潛在的(de)錯誤,評論和設計和架構。
它可(ke)(ke)與Java IDE開發環境(如Eclipse,NetBeans和IntelliJ IDEA)集成,并可(ke)(ke)通(tong)過使用插件進行擴展。
下次再(zai)檢(jian)查(cha)一(yi)下,我將會看(kan)看(kan)有(you)用的HTML和CSS工具。
您使用(yong)什(shen)么工具來幫助改進代(dai)碼,讓我(wo)們知道!
這(zhe)篇文(wen)(wen)章是我(wo)們(men)(men)的(de)“Java文(wen)(wen)章索引(yin)”系列的(de)一部分。在這(zhe)些文(wen)(wen)章中(zhong),我(wo)們(men)(men)的(de)目標是探索Java和(he)Javafx的(de)世界。看(kan)看(kan)吧(ba)!
如(ru)果您是第yi次讀者,或者只是想在發布新文章和(he)更新時收(shou)到通知,您可(ke)以通過社交媒體(ti)(Twitter,Facebook和(he)Google+)或博(bo)客RSS保(bao)持xin。
相關文章:
宣布JDeli - 一個(ge)新的Java圖像庫
Java PDF播客現在(zai)在(zai)ITUNES上可用
Java PDF播客1 - 版本5發行(xing)版概述
免(mian)費(fei)PDF指(zhi)南(nan):系列指(zhi)數
免(mian)費PDF指(zhi)南更新 - 非技術用戶的(de)5個簡單步(bu)驟中的(de)PDF到HTML5
SonarSource 城市之旅2016丹切2016年5月26日(ri)在10:14pm今天我參加(jia)了倫敦 SonarSource 城市之旅。SonarSource 制(zhi)作兩個 '連(lian)續代碼(ma)質量' 工(gong)具: SonarQube;和 SonarLint。
雷迪(di)森 sas 波特(te)曼(man)酒(jiu)店(dian)舉(ju)辦(ban)的低調活(huo)動(dong)約50與會者(zhe)。我們(men)聽到了一些(xie)適當的技(ji)術介紹(shao), 從(cong)奧利維爾(er) Gaudin, 弗雷迪(di)槌, 和 SonarSource 的尼古拉(la)斯秘魯和鄧肯波克林頓從(cong)微軟。
技術債wu這一天開了一個問(wen)題。誰負責代碼質量?還是 QA?
是不加掩飾的: 開(kai)發商。
在(zai)某些情況下, 引入技術債wu是可(ke)以的(de), 但團隊需要了解他們所創建的(de)問題的(de)權衡和(he)存在(zai)的(de)程度。hao的(de)方法是通(tong)過客觀和(he)一致的(de)測量。
'修(xiu)復泄漏'知道你(ni)有問題是一(yi)回(hui)(hui)事。修(xiu)理它(ta)是另一(yi)回(hui)(hui)事。
這一(yi)天的首(shou)要主題是 '修復泄漏': 當你有(you)一(yi)個漏水的管道(dao), 你應該先修復它(ta)還是先把它(ta)擦干凈?如(ru)果你不首(shou)先解決問(wen)題的根(gen)源(yuan), 那么(me)清理就不是很有(you)用。
(這對我(wo)(wo)來說特別的傷感, 因為我(wo)(wo)在家里的水管(guan)漏水, 所以(yi)我(wo)(wo)遲到了。
在實踐中(zhong),中(zhong)國(guo)sonarqube代理商, 這意味著設置一(yi)個質量的(de)酒(jiu)吧 (或 '門' 的(de) SonarSource 行(xing)話) 新(xin)的(de)變(bian)化, 但大多(duo)忽略(lve)現有(you)的(de)問題, 直(zhi)到你(ni)得到控制的(de)事情(qing)。
這似乎是一個(ge)不(bu)錯的方(fang)法, 有兩個(ge)原因:
它(ta)減(jian)少了在(zai)遺留的(de)基本(ben)代碼上(shang)(shang)開始的(de)摩(mo)擦力(li), 因為(wei)(wei)你(ni)(ni)可以(yi)假(jia)裝你(ni)(ni)是從一個干凈的(de)石板(ban)開始;這(zhe)是沙(sha)子上(shang)(shang)的(de)一條線, 它(ta)為(wei)(wei)球隊的(de)前進設定了期望(wang)。奧利(li)維爾不(bu)厭其煩(fan)地強調(diao), 有一個自動(dong)化的(de)工具(ju), 實(shi)施(shi)這(zhe)種行為(wei)(wei)不(bu)會減(jian)輕你(ni)(ni)的(de)教育團隊的(de)jia做法(fa)。每(mei)一個指標都可以(yi)博弈(yi), 所以(yi)你(ni)(ni)需要讓人們在(zai)船上(shang)(shang)的(de)概念, 真正(zheng)充分利(li)用它(ta)。
SonarQubeSonarQube 度量(liang)您的代(dai)碼庫的可維護性(xing)、可靠性(xing)和安全性(xing), 并跟蹤(zong)隨著時間的推(tui)移而改(gai)進。它還指出了代(dai)碼中特(te)定的代(dai)碼氣味, 應該是固定的。
SonarQube 是由超(chao)(chao)過(guo)75k 的公司(si)使用的, 其(qi)中一些有數(shu)(shu)以千計(ji)的開發人員和數(shu)(shu)百萬行代碼。它成為事(shi)實上的代碼質量工具, 因為它的介紹8年前, 超(chao)(chao)過(guo)其(qi) Java 根(gen)現在支持超(chao)(chao)過(guo)20種(zhong)語(yu)言(yan)。
弗雷(lei)迪給(gei)了我們一個簡要(yao)的特點, 從近的版本, 包括 v5.6 (將(jiang)在幾個星期內發布(bu))。
值得注(zhu)意的(de)(de)是, 現代化的(de)(de)體系結構不再(zai)需要分析器和數據庫之(zhi)間的(de)(de)直接連接。這一(yi)切都通(tong)過了一(yi)個網絡服務, 這是更明智的(de)(de)。
質(zhi)量(liang)評級也正(zheng)在完善。現有的 SQALE 度(du)量(liang)對衡(heng)量(liang)項目的可維護性很有好處, 但它(ta)沒有考慮到(dao)問題(ti)的嚴重性。它(ta)也沒有真正(zheng)與泄漏概念的網格。
在 SonarQube 5.6 中, SQALE 將重新命(ming)名為可(ke)維護性(xing)(xing), 并(bing)且將為性(xing)(xing)、安全性(xing)(xing)和可(ke)靠性(xing)(xing)提(ti)供新的評級。將所(suo)有這些信(xin)息(xi)一起(qi)放在所(suo)有項目中將是一個(ge)新的治理儀表(biao)板 (一個(ge)商業(ye)插件)。
路線在工作中(zhong), 我們使用 gitflow。我們不想合并一(yi)個功能分支, 如果它會降(jiang)低(di)項目(mu)的質量, 因此我們特別希(xi)望了解分支支持在 SonarQube 中(zhong)將如何改進。
已經有拉請求集成與 GitHub 和藏(zang)匿, 讓你知道什么時候合(he)并會引(yin)入債wu。
但是(shi)(shi), 目前(qian)在 SonarQube 內部, 單獨(du)的(de)(de)分支(zhi)被(bei)視(shi)為(wei)單獨(du)的(de)(de)項目。配置是(shi)(shi)重(zhong)復的(de)(de), 而(er)且(qie)更(geng)糟(zao)糕的(de)(de)是(shi)(shi), 每個功(gong)能分支(zhi)都包含了主分支(zhi)中的(de)(de)所有(you)問題和債(zhai)wu。
這是幸運的(de) SonarSource 的(de)一(yi)個(ge)高(gao)優先級, 雖然它(ta)不(bu)會被宣布時, 它(ta)將船舶(bo)。目(mu)標是將項(xiang)目(mu)的(de)所(suo)有分(fen)支作(zuo)為(wei)對主分(fen)支的(de)比較。
群集(ji)是(shi)路線(xian)圖的(de)一(yi)個令(ling)人驚訝的(de)補充, 因(yin)為這(zhe)看起來不像(xiang)是(shi)一(yi)種需要支持大量負載的(de)產(chan)品。然而, 一(yi)些真正(zheng)巨大的(de)設施確實存在(zai)于野外, 它可(ke)以(yi)利(li)用多個 web 服務器與同一(yi)數據庫(ku)進行對話。
當弗雷(lei)迪宣布 SonarQube 為服(fu)務時,代(dai)理商(shang)sonarqube代(dai)理商(shang), 群(qun)集的隱(yin)藏議(yi)程變得清晰明了。這將(jiang)是一(yi)個(ge)免費的開放(fang)源碼(ma)項目(mu)服(fu)務, 可以(yi)分析任何地方托管的項目(mu) (雖(sui)然它需(xu)要一(yi)個(ge) GitHub 帳戶(hu)進行身(shen)份驗證)。它將(jiang)支持所有的內(nei)置(zhi) SonarSource 插件, 但沒有第三(san)方的。這對開源社(she)區來說是一(yi)個(ge)好消息!
后, 我有機會(hui)問(wen)墻和集成(cheng)系統(tong), 如(ru) JIRA。一般的意見是, 這些應該(gai)處理(li)外(wai)部 SonarQube 本身, 并集成(cheng)使用(yong)的全功能的 rest API 暴露的 SonarQube。
SonarLintSonarLint 是您的(de)(de) IDE (Eclipse、IntelliJ 或 Visual Studio) 的(de)(de)插件, 它在您鍵入時標記代碼質量問(wen)題。這個想法是為(wei)了防(fang)止(zhi)泄漏之前, 他們共享與其他的(de)(de)研發
SonarSource交付管(guan)道,
持(chi)續的(de)(de)(de)交付和(he)(he) DevOps 是(shi)眾所周知的(de)(de)(de)和(he)(he)廣泛傳播(bo)的(de)(de)(de)做(zuo)法現在。人們普(pu)遍認為(wei), 重(zhong)要的(de)(de)(de)是(shi)組建偉大(da)的(de)(de)(de)團(tuan)隊(dui), 首先(xian)定義共同(tong)的(de)(de)(de)目標, 然后選擇和(he)(he)整合適合于給(gei)定任務的(de)(de)(de)工(gong)具。通常, 它(ta)是(shi)一(yi)個輕量(liang)級工(gong)具的(de)(de)(de)混搭, 它(ta)們集(ji)成在一(yi)起建立連(lian)(lian)續的(de)(de)(de)交付管道(dao)并(bing)支持(chi) DevOps 的(de)(de)(de)計(ji)劃。在這個博客文(wen)章中, 我們放大(da)到(dao)了整個管道(dao)的(de)(de)(de)一(yi)個重(zhong)要部(bu)分, 這就是(shi)經常被稱為(wei)連(lian)(lian)續檢查(cha)的(de)(de)(de)學科, 它(ta)包括檢查(cha)代碼并(bing)在上面注入一(yi)個質量(liang)門(men), 并(bing)顯示在達到(dao)質量(liang)門(men)后如何上傳工(gong)件。DevOps 的(de)(de)(de)啟用工(gong)具包括詹(zhan)金斯、SonarQube 和(he)(he) Artifactory。
的(de)(de)用例你已經知道(dao)質量不能在(zai)事后被(bei)注入(ru), 而(er)是(shi)從一(yi)(yi)開始就(jiu)應該是(shi)過程和產品的(de)(de)一(yi)(yi)部(bu)(bu)分。作(zuo)為(wei)一(yi)(yi)種(zhong)常用的(de)(de)良好(hao)(hao)做(zuo)法, 強烈建議您盡(jin)快檢查代(dai)碼(ma)并使(shi)結果可見(jian)。因(yin)為(wei) SonarQube 是(shi)一(yi)(yi)個(ge)很(hen)好(hao)(hao)的(de)(de)選擇。但 SonarQube 不只是(shi)運(yun)行在(zai)任何孤立的(de)(de)島嶼, 它(ta)是(shi)集成在(zai)一(yi)(yi)個(ge)輸送管道(dao)。作(zuo)為(wei)管道(dao)的(de)(de)一(yi)(yi)部(bu)(bu)分, 代(dai)碼(ma)被(bei)檢查, 并且僅當代(dai)碼(ma)根據定義的(de)(de)要(yao)求是(shi)好(hao)(hao)的(de)(de), 換句話(hua)說: 它(ta)滿足質量門, 被(bei)建立的(de)(de)工件被(bei)上(shang)傳到二(er)進(jin)制(zhi)存儲庫管理器(qi)。
讓我們(men)考慮下(xia)面的場景。其中(zhong)(zhong)一(yi)個繁忙的開(kai)發人員(yuan)必須修復(fu)代碼, 并(bing)檢查(cha)對中(zhong)(zhong)央(yang)版(ban)本(ben)控制系統的更(geng)改(gai)。白天很(hen)長, 晚(wan)上很(hen)短, 而且(qie)對所(suo)有團隊的承諾, 開(kai)發人員(yuan)沒有檢查(cha)本(ben)地沙箱中(zhong)(zhong)代碼的質(zhi)量(liang)。幸(xing)運的是(shi), 有構建引擎詹金斯作(zuo)為一(yi)個單一(yi)的真理點, 實現交付管(guan)(guan)道與其本(ben)地管(guan)(guan)道功能, 并(bing)作(zuo)為一(yi)個方便的巧合 SonarQube 有支持詹金斯管(guan)(guan)道。
此更改(gai)將觸(chu)發管線的(de)(de)(de)新運行。哦不!生成管線中斷, 并且未進一步處理更改(gai)。在下面的(de)(de)(de)圖(tu)像中, 您會(hui)看(kan)到(dao)已定(ding)義(yi)的(de)(de)(de)質量門被(bei)忽略。可視化是由詹(zhan)金斯藍(lan)色海(hai)洋(yang)完(wan)成的(de)(de)(de)。
01 PipelineFailedBlueOcean
SonarQube 檢驗潛在(zai)的問題是什么?我(wo)們可以打開 SonarQube 的 web 應用(yong)程序并深(shen)入查找。在(zai) Java 代碼(ma)中, 顯然沒有將字符串文(wen)本放(fang)在(zai)右側(ce)。
02發現
在(zai)團隊(dui)會議中, 決定將其定義為一(yi)(yi)個(ge)阻止程序, 并相應地配置 SonarQube。此外, 建(jian)立了一(yi)(yi)個(ge) SonarQube 質(zhi)量門, 以打(da)破任何建(jian)設, 如(ru)果一(yi)(yi)個(ge)攔(lan)截qi被確(que)定。現在(zai)讓我們快速(su)查看代碼。是(shi)的(de)(de), SonarQube 是(shi)對的(de)(de),代理商(shang)(shang)sonarqube代理商(shang)(shang), 下(xia)面的(de)(de)代碼段有問題。
03 FindingVisualizedInCode
我們不希望詳細討論所有(you)使用的(de)工具, 也涵(han)蓋完整(zheng)的(de)詹金斯構(gou)建(jian)工作(zuo)將超出范圍。但有(you)趣的(de)提取這里的(de)檢查方(fang)面(mian)是在詹金斯管道 DSL 中定義的(de)以下階段(duan):
配(pei)置. xml: SonarQube 檢查階(jie)段 ('SonarQube 分析') {withSonarQubeEnv ('聲(sheng)(sheng)納(na)') {mvn 組織 sonarsource 掃(sao)(sao)描儀(yi). maven: 聲(sheng)(sheng)納(na)-maven-插件: 3.3. 0.603: 聲(sheng)(sheng)納(na) +'-f 所有/pom' xml +'-Dsonar projectKey = com. huettermann: 全部: 主' +'-Dsonar' 登錄 = $ SONAR_UN +'-Dsonar' 密碼 = $ SONAR_PW +'-Dsonar' 語言 = java +'-Dsonar。' 的(de)(de)+'-Dsonar。' 的(de)(de)+-Dsonar 測試. 夾雜物 = ** 測試 *** +'-Dsonar. 排除/**/** 測試 ***'}}用于運(yun)行(xing) SonarQube 分析的(de)(de)階(jie)段。允許選(xuan)擇(ze)要與之交(jiao)互的(de)(de) SonarQube 服(fu)務(wu)器(qi)。運(yun)行(xing)和配(pei)置掃(sao)(sao)描儀(yi),sonarqube代理商, 許多可(ke)用的(de)(de)選(xuan)項(xiang), 請(qing)檢查文(wen)檔(dang)。許多選(xuan)項(xiang)可(ke)用于集成(cheng)(cheng)和配(pei)置 SonarQube。請(qing)參閱(yue)文(wen)檔(dang)中(zhong)的(de)(de)替代方案(an)。同(tong)樣適用于其他(ta)覆蓋(gai)的(de)(de)工具。SonarQube 質量(liang)門(men)作為詹金斯管線階(jie)段的(de)(de)一部分, SonarQube 配(pei)置為運(yun)行(xing)和檢查代碼。但這僅(jin)僅(jin)是第yi部分, 因(yin)為我們現在還想添加質量(liang)門(men), 以打破構建。下一階(jie)段正好涵蓋(gai)了(le)這一點, 請(qing)參閱(yue)下一片(pian)段。管道被暫(zan)停(ting), 直到質量(liang)門(men)被計算, 特別是 waitForQualityGate 步驟將暫(zan)停(ting)管道, 直到 SonarQube 分析完成(cheng)(cheng)并返回質量(liang)門(men)狀態。如(ru)果遺漏了(le)質量(liang)門(men), 則(ze)生成(cheng)(cheng)將中(zhong)斷。
溫馨提示:以上是關于蘇州華克斯-中國sonarqube代理商的詳細介紹,產品由蘇州華克斯信息科技有限公司為您提供,如果您對蘇州華克斯信息科技有限公司產品信息感興趣可以或者 ,您也可以查看更多與行業專用軟件相(xiang)關的產品(pin)!
蘇州華(hua)克斯信息科技有(you)限公司
|
地址:蘇州工業園(yuan)區(qu)新平(ping)街(jie)388號
電話:13862561363傳真:0512-62382981
免責聲明:以上信(xin)息由(you)會(hui)員(yuan)自(zi)行提供,內容的(de)真(zhen)實性(xing)、準確性(xing)和合法性(xing)由(you)發布會(hui)員(yuan)負責,天(tian)助網對此不承(cheng)擔任何責任。天(tian)助網不涉及用戶間(jian)因(yin)交易而產生(sheng)的(de)法律(lv)關系及法律(lv)糾紛(fen), 糾紛(fen)由(you)您自(zi)行協(xie)商(shang)解決。
風險提醒:本網站僅作為(wei)(wei)用戶(hu)尋找交易(yi)對象,就貨(huo)物和服務(wu)的(de)(de)交易(yi)進行(xing)協商(shang)(shang),以(yi)及獲取各類與貿易(yi)相關(guan)的(de)(de)服務(wu)信息(xi)的(de)(de)平臺。為(wei)(wei)避免(mian)產生購(gou)買風險,建(jian)議您(nin)在(zai)購(gou)買相關(guan)產品前務(wu)必 確(que)認供應商(shang)(shang)資質及產品質量。過(guo)低的(de)(de)價格(ge)、夸張(zhang)的(de)(de)描述、私人銀行(xing)賬戶(hu)等都(dou)有可能(neng)是(shi)虛假(jia)信息(xi),請采購(gou)商(shang)(shang)謹慎(shen)對待,謹防(fang)欺詐(zha),對于(yu)任何付款行(xing)為(wei)(wei)請您(nin)慎(shen)重(zhong)抉擇(ze)!如您(nin)遇到欺詐(zha) 等不誠(cheng)信行(xing)為(wei)(wei),請您(nin)立即與天(tian)助(zhu)網聯系,如查證屬(shu)實,天(tian)助(zhu)網會對該企業商(shang)(shang)鋪做注銷處理,但天(tian)助(zhu)網不對您(nin)因此造成的(de)(de)損失承擔責任!
聯系:tousu@50835.cn是處理侵(qin)權投(tou)訴的(de)(de)專(zhuan)用郵(you)(you)(you)箱,在您(nin)的(de)(de)合法(fa)權益(yi)受到侵(qin)害時(shi),歡迎您(nin)向該郵(you)(you)(you)箱發送(song)郵(you)(you)(you)件,我們(men)會在3個(ge)工作日內給(gei)您(nin)答(da)復(fu),感謝您(nin)對我們(men)的(de)(de)關注與支(zhi)持!
增值電信業(ye)務經營許可(ke)證:粵(yue)B2-20191121 | 網站備案編(bian)號(hao):粵(yue)ICP備10200857號(hao)-23 | 高(gao)新技術企業(ye):GR201144200063 | 粵(yue)公(gong)網安備 44030302000351號(hao)
Copyright ? 2006-2025 深圳市天助人和(he)信息技(ji)術(shu)有限公司 版權所有 網站統計