国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Azure Devops集成 SonarQube檢測代碼質(zhì)量

這篇具有很好參考價值的文章主要介紹了Azure Devops集成 SonarQube檢測代碼質(zhì)量。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

SonarQube介紹

介紹

SonarQube 是一個用于代碼質(zhì)量管理的開源平臺,用于管理源代碼的質(zhì)量。同時 SonarQube 還對大量的持續(xù)集成工具提供了接口支持,可以很方便地在持續(xù)集成中使用 SonarQube.

支持范圍

通過插件形式,可以支持包括 Java,C#,C/C++、PL/SQL、Cobol、JavaScrip、Groovy、Ruby 、python等二十五種編程語言的代碼質(zhì)量管理與檢測,針對不同的編程語言其所提供的分析方式也有所不同:對于所有支持的編程語言,SonarQube 都提供源了代碼的靜態(tài)分析功能;對于某些特定的編程語言,SonarQube 提供了對編譯后代碼的靜態(tài)分析功能。

SonarQube 支持多種客戶端集成方式,包括但不限于 Scanner 客戶端、Ant、Gradle、Maven、Jenkins、IDEA 、DevOps插件等。比較常用的為 Gradle 和 Maven。

原理

SonarQube 并不是簡單地將各種質(zhì)量或覆蓋率檢測工具的結(jié)果(例如 CheckStyle、JaCoCo 等)直接展現(xiàn)給客戶,而是通過不同的插件算法來對結(jié)果進(jìn)行再加工,并最終以量化的方式來衡量代碼質(zhì)量,從而方便地對不同規(guī)模和種類的工程進(jìn)行相應(yīng)的代碼質(zhì)量管理,以便進(jìn)行有針對性的代碼修復(fù)或重構(gòu)。

AzureDevops 配置與安裝SonarQube

前面大概介紹了SonarQube是什么,他可以幫我們來靜態(tài)檢測我們的項目代碼質(zhì)量?,F(xiàn)在我們來具體實踐一下吧。

背景介紹

本篇主要介紹一個使用
1.python寫的一個項目。這個項目主要用來檢測。
2.然后使用Azure DevOps 組織創(chuàng)建和一個項目,初始化一個存儲庫。
3.使用一臺云 Ubuntu虛擬機當(dāng)作編譯機
4.在使用一臺云 虛擬機作為SonarQube服務(wù)器(我們這里使用上面的編譯機(Ubuntu虛擬機)作為服務(wù)器)。

過程

1.我們在本地準(zhǔn)備一個python項目(其它語言的也可以),然后將項目push到我們準(zhǔn)備的AzureDevOps上的存儲庫。
2.然后配置我們Azure 項目的編譯機,配置好之后,安裝Sonarqube。安裝成功之后訪問驗證是否正常運行。
3.然后回到我們的AzureDevOps集成我們創(chuàng)建的SonarQube,(修改/創(chuàng)建)我們的管道。
4.查看SonarQube檢測結(jié)果。

過程1(準(zhǔn)備項目)

我們按照過程的步驟來慢慢配置:
首先我們創(chuàng)建一個python項目,不用很復(fù)雜,然后上傳到我們的AzureRepos倉庫中。

azure devops 代碼掃描,Azure,azure,devops,運維

過程2(配置agent & SonarQube)

我們準(zhǔn)備一臺AzureUbuntu虛擬機登錄到虛擬機。

配置Agent

我之前的文章中講到過配置Windos虛擬機,其實大同小異,今天我們看一下如何配置Linux虛擬機agent。
1.我們點開Azure DevOps -> Project Settings->Agent Pools-> Add pool-> New Agent->轉(zhuǎn)到Linux

azure devops 代碼掃描,Azure,azure,devops,運維

因為我們配置的agent是Linux的所以我們需要轉(zhuǎn)到Linux,我們可以采用URL的方式下載Agent配置文件。(點擊下圖標(biāo)注即可復(fù)制URL)

azure devops 代碼掃描,Azure,azure,devops,運維

配置Linux Agent

1.然后我們回到虛擬機,首先我們更新一下鏡像源

sudo apt-get update
sudo apt-get upgrade

azure devops 代碼掃描,Azure,azure,devops,運維

2.wget URL 可以下載我們所需要的壓縮文件
我們需要下載wget工具

sudo apt-get install wget

azure devops 代碼掃描,Azure,azure,devops,運維
3.然后我們可以查看一下版本,驗證是否安裝成功。

wget --version

azure devops 代碼掃描,Azure,azure,devops,運維

4.然后我們可以先創(chuàng)建一個文件夾,用于存儲agent配置文件

mkdir myagent && cd myagent

azure devops 代碼掃描,Azure,azure,devops,運維

5.然后我們在myagent文件夾內(nèi)下載壓縮包

sudo wget https://vstsagentpackage.azureedge.net/agent/3.230.0/vsts-agent-linux-x64-3.230.0.tar.gz

azure devops 代碼掃描,Azure,azure,devops,運維

6.解壓縮然后運行config.sh文件

sudo tar zxvf vsts-agent-linux-x64-3.230.0.tar.gz
ls

azure devops 代碼掃描,Azure,azure,devops,運維

7.運行config.sh文件開始配置

./config.sh

azure devops 代碼掃描,Azure,azure,devops,運維

(1).第一步我們直接’Enter’接受一些協(xié)議什么的

azure devops 代碼掃描,Azure,azure,devops,運維

(2).輸入我們DevOsserver的URL,到組織即可:
我們Azure DevOps的URL

https://dev.azure.com/MyOrgTeam/

azure devops 代碼掃描,Azure,azure,devops,運維

(3).身份驗證我們直接回車即可

azure devops 代碼掃描,Azure,azure,devops,運維

(4).personal access token,我們返回Azure DevOps 如下圖.
注意token只顯示一次,頁面關(guān)閉將不會在顯示。

azure devops 代碼掃描,Azure,azure,devops,運維
azure devops 代碼掃描,Azure,azure,devops,運維
azure devops 代碼掃描,Azure,azure,devops,運維

(5).返回我們的配置頁面,將創(chuàng)建好的token粘貼上去。然后回車輸入代理池名稱和代理名稱

azure devops 代碼掃描,Azure,azure,devops,運維

(6).工作目錄,我們直接回車默認(rèn)就好

azure devops 代碼掃描,Azure,azure,devops,運維

這就配置成功了如下圖,接下來我們就應(yīng)該run起來我們的agent了

azure devops 代碼掃描,Azure,azure,devops,運維

  1. run我們的agent,查看配置是否成功
    我們的agent要運行起來,并且不可以關(guān)閉,才能編譯。
./run.sh

我們可以看到已經(jīng)開始監(jiān)聽了

azure devops 代碼掃描,Azure,azure,devops,運維

9.驗證agent
我們可以返回AzureDevOps 查看我們Agent pool里面的agent,查看是否online

azure devops 代碼掃描,Azure,azure,devops,運維

配置SonarQube

我們可以另起一個窗口,因為如果編譯的話我們run的agent窗口不能關(guān)閉
然后我們采用的是使用docker來拉取SonarQube然后跑的鏡像,這樣方便很多

安裝Docker
sudo apt  install docker.io

azure devops 代碼掃描,Azure,azure,devops,運維

我們可以直接輸入docker --version,如果安裝成功則會顯示版本。

azure devops 代碼掃描,Azure,azure,devops,運維

拉取SonarQube鏡像
sudo docker pull sonarqube

azure devops 代碼掃描,Azure,azure,devops,運維

Run SonarQube容器
sudo docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest

azure devops 代碼掃描,Azure,azure,devops,運維

驗證SonarQube服務(wù)器

我們回到Azure portal,將我們Ubuntu虛擬機的nsg開始9000端口。

然后我們稍等一小會兒,訪問:
azure devops 代碼掃描,Azure,azure,devops,運維

http://(你的虛擬機服務(wù)器IP):9000

默認(rèn)賬戶名密碼都是‘a(chǎn)dmin’,首次登陸進(jìn)去之后,他會讓你修改密碼

出現(xiàn)如下圖的界面就ok了。
azure devops 代碼掃描,Azure,azure,devops,運維

azure devops 代碼掃描,Azure,azure,devops,運維

過程3(Azure DevOps 集成SonarQube)

現(xiàn)在我們的項目源碼,Agent和SonarQube都準(zhǔn)備好了,只差集成了。

配置SonaeQube

我們回到SonarQube,導(dǎo)入我們的項目。

azure devops 代碼掃描,Azure,azure,devops,運維

然后我們需要輸入三個參數(shù),給一個名稱,給一個AzureDevOps組織的URL,一個Personal access token(可以重新再創(chuàng)建一個)

azure devops 代碼掃描,Azure,azure,devops,運維

然后下一步你還可以輸入這個token

azure devops 代碼掃描,Azure,azure,devops,運維

找到我們需要檢測的項目,點擊導(dǎo)入

azure devops 代碼掃描,Azure,azure,devops,運維

azure devops 代碼掃描,Azure,azure,devops,運維

我們導(dǎo)入成功后,點擊從pipline分析

azure devops 代碼掃描,Azure,azure,devops,運維

然后我們返回DevOps里面,按照SonarQube里面的配置

azure devops 代碼掃描,Azure,azure,devops,運維

配置AzureDevOps

首先我們應(yīng)該到市場中下載SonarQube插件,因為我們的AzureDevOps中默認(rèn)是沒有SonarQube 連接器插件的。
1.我們可以點擊SonarQube給出教程的第一步鏈接( SonarQube extension)
然后點擊 “Get it free”

azure devops 代碼掃描,Azure,azure,devops,運維
azure devops 代碼掃描,Azure,azure,devops,運維

2.第二部中沒有什么難點,跟著步驟一點一點走就可以了。
3.第三部中看我們是什么語言的項目,我們是Python的
然后就點擊python,他會給出相應(yīng)的步驟。
步驟2配置好了之后我們會在這一步去修改Pipline Yaml
也是按照第三部中的步驟來做,最后我們pipline Yaml文件內(nèi)容如下

# Python Function App to Linux on Azure
# Build a Python function app and deploy it to Azure as a Linux function app.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/python

trigger:
- main
stages:
- stage: Build
  displayName: Build stage 
  jobs:
    - job:
      steps:
        - task: SonarQubePrepare@5
          inputs:
            SonarQube: 'Qube1124'
            scannerMode: 'CLI'
            configMode: 'manual'
            cliProjectKey: 'agentdemo_agentdemo_AYv_YDa_tVCgfdkXn_y4'
            cliProjectName: 'agentdemo'
            cliSources: '.'
        - bash: echo '中間編譯部分,業(yè)務(wù)主體'
 
        - task: SonarQubeAnalyze@5
          inputs:
            jdkversion: 'JAVA_HOME_11_X64'
        - task: SonarQubePublish@5
          inputs:
            pollingTimeoutSec: '300'
            


然后我們運行pipline

azure devops 代碼掃描,Azure,azure,devops,運維

過程4(查看結(jié)果)

我們在pipline中已經(jīng)發(fā)布了檢測結(jié)果,只需要稍等,我們返回到SonarQube,再看
我們就發(fā)現(xiàn)結(jié)果就發(fā)布上來了,有關(guān)具體如何使用SonarQube請查看SonarQube官網(wǎng)。

azure devops 代碼掃描,Azure,azure,devops,運維
azure devops 代碼掃描,Azure,azure,devops,運維文章來源地址http://www.zghlxwxcb.cn/news/detail-792987.html

到了這里,關(guān)于Azure Devops集成 SonarQube檢測代碼質(zhì)量的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Azure DevOps Server 2022 (TFS 2022)

    時隔兩年,微軟公司再次發(fā)布Azure DevOps Server(之前名為TFS) 的最新新版本2022。 雖然現(xiàn)在還只是RC1版本,但是承襲近年來微軟發(fā)布產(chǎn)品的系統(tǒng),這個RC版本支持生產(chǎn)升級和技術(shù)支持,用戶完全可以放心安裝或升級。 相比Azure DevOps Server 2020,最新發(fā)布的這個版本主要在“交付計劃

    2024年02月05日
    瀏覽(18)
  • Azure DevOps構(gòu)建CICD流水線

    Azure DevOps構(gòu)建CICD流水線

    Azure AKS Azure CR Azure DevOps .NET Core示例 Dockerfile deploy.yaml Java示例 Dockerfile deploy.yaml 注冊Azure AD應(yīng)用 打開Azure portal,導(dǎo)航到Azure AD 選擇應(yīng)用注冊,點擊新注冊 輸入應(yīng)用名稱,點擊注冊 創(chuàng)建客戶端密碼 分配應(yīng)用訂閱的參與者角色 導(dǎo)航到訂閱,選擇Access control(IAM),點擊添加按鈕,

    2024年02月09日
    瀏覽(35)
  • Azure DevOps(三)Azure Pipeline 自動化將程序包上傳到 Azure Blob Storage

    Azure DevOps(三)Azure Pipeline 自動化將程序包上傳到 Azure Blob Storage

    結(jié)合前幾篇文章,我們了解到 Azure Pipeline 完美的解決了持續(xù)集成,自動編譯。同時也兼顧了 Sonarqube 作為代碼掃描工具。接下來另外一個問題出現(xiàn)了,Azure DevOps 由于有人員限制,項目上不能給非開發(fā)人員或者外包成員開權(quán)限,這個時候就需要將編譯好的程序包上傳到公共網(wǎng)盤

    2024年02月02日
    瀏覽(29)
  • Azure DevOps Server 2022.0.1升級手冊

    Azure DevOps Server 2022.0.1升級手冊

    Contents 1. 概述 2. 操作方法 2.1 安裝操作系統(tǒng) 2.2 安裝數(shù)據(jù)庫 2.4 還原數(shù)據(jù) 2.3 安裝和配置Azure DevOps Server 1. 概述 Azure DevOps Server 是微軟公司經(jīng)過20多年的持續(xù)開發(fā),逐漸將需求管理、敏捷實踐、源代碼管理、持續(xù)集成等功能集成一體,實現(xiàn)應(yīng)用軟件生命周期全流程服務(wù)的技術(shù)平臺

    2024年02月02日
    瀏覽(20)
  • Azure DevOps Server 數(shù)據(jù)還原方式三:增量還原

    Azure DevOps Server 數(shù)據(jù)還原方式三:增量還原

    Contents 1. 概述 2. 操作方式 2.1 創(chuàng)建共享文件夾,并將備份文件復(fù)制到共享文件夾中 2.2 還原數(shù)據(jù) 3 驗證還原的數(shù)據(jù)庫 3.1 方式一:核對工作項所在的表的數(shù)據(jù) 3.2 方式二:將數(shù)據(jù)庫配置到應(yīng)用層,在應(yīng)用中驗證數(shù)據(jù) 4. 常見問題: 4.1 不能使用localhost作為共享文件夾 4.2 還原數(shù)據(jù)

    2024年02月02日
    瀏覽(20)
  • Azure Devops上模版化K8s部署

    Azure Devops上模版化K8s部署

    在2022年我們終于完成了主要業(yè)務(wù)系統(tǒng)上K8s的計劃,在這里總結(jié)下我們上K8s時候的模版工程。 ? 前提條件 本文不討論K8s是什么,什么是容器化,為什么需要容器化,什么是微服務(wù)等這些基礎(chǔ)內(nèi)容,這些到處說的爛大街了。此類內(nèi)容有興趣可以看看微軟系的介紹: 微服務(wù)體系架

    2024年02月02日
    瀏覽(23)
  • Azure DevOps Server 2022新功能:導(dǎo)入和導(dǎo)出到CSV文件,實現(xiàn)批量修改工作項

    Azure DevOps Server 2022新功能:導(dǎo)入和導(dǎo)出到CSV文件,實現(xiàn)批量修改工作項

    Azure DevOps Server(之前名稱為TFS)作為微軟的軟件研發(fā)管理平臺產(chǎn)品,由于系統(tǒng)涉及到軟件開發(fā)的全過程和多種角色,服務(wù)器中積累了大量的軟件開發(fā)過程數(shù)據(jù),例如需求、評審、Bug和測試用例等。在對這些數(shù)據(jù)進(jìn)行批量操作(例如批量更新、導(dǎo)入、導(dǎo)出和數(shù)據(jù)分析)的過程中,進(jìn)

    2024年02月05日
    瀏覽(25)
  • 代碼質(zhì)量檢測-SonarQube

    代碼質(zhì)量檢測-SonarQube

    CI/CD流水線完善計劃, 增加代碼質(zhì)量檢查作業(yè),在開發(fā)代碼合入前提前發(fā)現(xiàn)不安全問題,因此引入代碼質(zhì)量檢測-SonarQube服務(wù)。 Sonar是一個用于代碼質(zhì)量管理的開源平臺,用于管理Java源代碼的質(zhì)量。通過插件機制,Sonar 可以集成不同的測試工具,代碼分析工具,以及持續(xù)集成

    2024年01月24日
    瀏覽(28)
  • DevOps概念及搭建全過程(Jenkins、Harbor、SonarQube、K8s)

    DevOps概念及搭建全過程(Jenkins、Harbor、SonarQube、K8s)

    在如今互聯(lián)網(wǎng)的格局下,搶占市場變得尤為重要,因此敏捷開發(fā)越來越被大家所推崇。于是,慢慢的有了DevOps這個概念,大致意思是開發(fā)-運維一體化。 1.1 基本概念 可以看到上圖是一個無窮大的一個符號,Dev對應(yīng)開發(fā),Ops對應(yīng)運維。 DevOps的方式可以讓公司能夠更快地應(yīng)對更

    2023年04月17日
    瀏覽(19)
  • 【項目實戰(zhàn)】自定義設(shè)置Sonar的規(guī)則,要求DevOps工具鏈SonarQube只掃描指定模塊

    開發(fā)微服務(wù)項目,很多會基于網(wǎng)絡(luò)上現(xiàn)成開源的微服務(wù)框架進(jìn)行二開,公司有單元測試覆蓋率的要求,往往會使用SonarQube 來實現(xiàn)掃描代碼的單元測試覆蓋率,但是因為網(wǎng)絡(luò)上現(xiàn)成開源的微服務(wù)框架很大部分是已經(jīng)現(xiàn)成的代碼,因此補充單元測試工作會很痛苦,于是,可以自定

    2024年02月14日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包