在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Jenkins 與 SonarQube 集成部署,自動化代碼質量監控

jf_21561199 ? 來源:jf_21561199 ? 作者:jf_21561199 ? 2025-01-07 17:24 ? 次閱讀

前言

強化代碼質量,加速軟件交付!Jenkins 攜手 SonarQube,與華為云 Flexus X 云服務器強強聯合,打造自動化代碼質量監控新生態。Flexus X 以其靈活的算力配置、卓越的性能表現,為 Jenkins 與 SonarQube 的集成部署提供強大支撐。在 Flexus X 的助力下,自動化代碼掃描與質量問題即時反饋成為可能,顯著提升團隊開發效率與軟件質量。立即體驗華為云 828 企業上云節優惠,讓 Jenkins 與 SonarQube 的集成部署更加順暢,共同守護您的代碼質量,加速軟件交付周期!

wKgZPGd88t6AK9YwAAEA4xEY1H4138.png

SonarQube 介紹

SonarQube 是一款用于代碼質量管理的開源工具,它采用 B/S 架構,主要用于管理源代碼的質量。 通過 SonarQube 我們可以檢測出項目中重復代碼, 潛在 bug, 代碼規范,安全性漏洞等問題, 并通過 SonarQube web UI 展示出來。

wKgZO2d88t-ANwcQAABO6yBwzU0894.png

SonarQube 環境搭建

需要了解:

采用 docker 方式進行部署 SonarQube 代碼質量管理的開源工具

詳細購買配置實例可參考文章:快速部署華為云FlexusX實例,開啟您的云端之旅

部署 docker 服務請參考文章:華為FlexusX與Docker+Nginx的高效整合之路

SonarQube 的安裝

SonarQube 在 7.9 版本中已經放棄了對 MySQL 的支持,并且建議在商業環境中采用 PostgreSQL,那么安裝 SonarQube 時需要依賴 PostgreSQL。

并且這里會安裝 SonarQube 的長期支持版本8.9

拉取鏡像

[root@flexusx-251f~]#dockerpullpostgres

[root@flexusx-251f~]#dockerpullsonarqube:8.9.3-community

#創建目錄

[root@flexusx-251f~]#mkdir/sonarqube

[root@flexusx-251f~]#cd/sonarqube/

編寫 docker-compose.yaml 文件

version:"2.29.1"

services:

db:

image:postgres#指定鏡像

container_name:postgres_db#指定容器名稱

ports:

-5432:5432#映射端口到宿主機,以從外部訪問數據庫

networks:

-sonarnet#連接到 sonarnet 網絡

environment:

POSTGRES_USER:sonar#創建數據庫

POSTGRES_PASSWORD:sonar#數據庫密碼

sonarqube:

image:sonarqube:8.9.3-community#指定鏡像

container_name:sonarqube#指定容器名稱

depends_on:

-db#指定服務

ports:

-"9000:9000"#映射端口到宿主機,以便可以從外部訪問 SonarQube。

networks:

-sonarnet#連接到 sonarnet 網絡

environment:

SONAR_JDBC_URL:jdbc:postgresql://db:5432/sonar

SONAR_JDBC_USERNAME:sonar

SONAR_JDBC_PASSWORD:sonar

networks:

sonarnet:

driver:bridge#創建橋接網絡

配置 sysctl.conf 文件信息。設置 vm.max_map_count

[root@flexusx-251fsonarqube]#vim/etc/sysctl.conf

#在最后添加一行vm.max_map_count

[root@flexusx-251fsonarqube]#cat/etc/sysctl.conf

...

vm.max_map_count=262144

#刷新

[root@flexusx-251fsonarqube]#sysctl-p

vm.swappiness=0

net.ipv4.tcp_max_tw_buckets=5000

net.ipv4.tcp_max_syn_backlog=1024

vm.max_map_count=262144

啟動容器

[root@flexusx-251fsonarqube]#docker-composeup-d

WARN[0000]/sonarqube/docker-compose.yaml:theattribute`version`isobsolete,itwillbeignored,pleaseremoveittoavoidpotentialconfusion

[+]Running3/3

?Networksonarqube_sonarnetCreated0.0s

?Containerpostgres_dbStarted0.2s

?ContainersonarqubeStarted0.3s

[root@flexusx-251fsonarqube]#docker-composels

NAMESTATUSCONFIGFILES

sonarquberunning(2)/sonarqube/docker-compose.yaml

### 訪問 SonarQube 首頁

放行安全組 9000,5432

wKgZPGd88t-ARN6dAAEnNUr1Zr8951.png

訪問地址:http://主機 ip:9000

wKgZPGd88t-AWXj-AABHsF3zP2Q004.png

登錄用戶名和密碼均為 admin

wKgZO2d88uCAGi1NAAAYkz5mAfU047.png

登錄成功進行密碼修改

wKgZPGd88uCAPYaeAABMhNSMd-I411.png

進入 Sonar Qube首頁

wKgZO2d88uCAUSKcAADCl87zr1U163.png

安裝中文插件

我同意風險,并點擊安裝

wKgZPGd88uCANbBWAAF7D_FlnNQ406.png

安裝成功后,會查看到重啟按鈕,點擊即可

wKgZO2d88uGAIv5pAAFT-ECAuJs630.png

Jenkins 集成 Sonar Qube

Jenkins 繼承 Sonar Qube 實現代碼掃描需要先下載整合插件

Jenkins 安裝插件

下載 Sonar Qube 插件

wKgZPGd88uGAZmU8AAFRr6mkt44606.png

wKgZO2d88uGAXHhjAADRcLMdebI163.png

安裝成功

wKgZPGd88uGAWXlVAACbNjGVpLY746.png

Sonar-scanner 實現代碼檢測****

下載 Sonar-scanner:https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/

下載 4.6.x 版本即可,要求 Linux 版本

我們直接在/Jenkins/data 目錄進行安裝,因為我們將主機的/jenkins/data 目錄掛在給了容器的/var/jenkins_home/目錄

[root@flexusx-251f~]# mkdir /jenkins/data/sonar-scanner

[root@flexusx-251f~]# cd /jenkins/data/sonar-scanner

# 上傳軟件包

[root@flexusx-251fsonar-scanner]# ls

sonar-scanner-cli-4.6.2.2472-linux.zip

解壓軟件包

[root@flexusx-251fsonar-scanner]# unzip sonar-scanner-cli-4.6.2.2472-linux.zip

配置 sonarQube 服務端地址,修改 conf 下的 sonar-scanner.properties

[root@flexusx-251fsonar-scanner]# ls

sonar-scanner-4.6.2.2472-linuxsonar-scanner-cli-4.6.2.2472-linux.zip

[root@flexusx-251fsonar-scanner]# cd sonar-scanner-4.6.2.2472-linux/

[root@flexusx-251fsonar-scanner-4.6.2.2472-linux]# ls

binconf jre lib

[root@flexusx-251fsonar-scanner-4.6.2.2472-linux]# cd conf/

[root@flexusx-251fconf]# ls

sonar-scanner.properties

[root@flexusx-251fconf]# vim sonar-scanner.properties

[root@flexusx-251fconf]# cat sonar-scanner.properties

#Configure here general information about the environment, such as SonarQube server connection details for example

#No information about specific project should appear here

#----- Default SonarQube server

#sonar.host.url=http://localhost:9000

sonar.host.url=http://123.249.27.118:9000

#----- Default source code encoding

#sonar.sourceEncoding=UTF-8

sonar.sourceEncoding=UTF-8

執行命令檢測代碼(如果設置了令牌需要指定才能成功 -Dsonar.login=toekn 值)

# 去到項目目錄下

[root@flexusx-251ftarget]# cd /jenkins/data/workspace/test01/target

# 在主機進行指定 sonar-scanner 運行

[root@flexusx-251ftarget]# /jenkins/data/sonar-scanner/sonar-scanner-4.6.2.2472-linux/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=test01 -Dsonar.projectKey=java -Dsonar.java.binaries=target/

INFO:Scanner configuration file: /jenkins/data/sonar-scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties

INFO:Project root configuration file: NONE

INFO:SonarScanner 4.6.2.2472

....................................

INFO:ANALYSIS SUCCESSFUL, you can browse http://123.249.27.118:9000/dashboard?id=java

INFO:Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report

INFO:More about the report processing at http://123.249.27.118:9000/api/ce/task?id=AZHAblB5Qhli4mfRayPT

INFO:Analysis total time: 2.408 s

INFO:------------------------------------------------------------------------

INFO:EXECUTION SUCCESS

INFO:------------------------------------------------------------------------

INFO:Total time: 14.564s

INFO:Final Memory: 7M/30M

INFO:------------------------------------------------------------------------

查看 SonarQube 界面檢測結果

wKgZO2d88uKAdaH2AAC_ds7SAU8122.png

Jenkins 配置 Sonar Qube

開啟 Sonar Qube 權限驗證

wKgZPGd88uKAIzfqAAEv4o99uTA725.png

獲取 Sonar Qube 的令牌(填寫一個名稱,生成 token)

5544214f876d9ef6737c0f2a731991d877adf380

wKgZO2d88uKADmsVAADZstK8Y4Y173.png

配置 Jenkins 的 Sonar Qube 信息

wKgZPGd88uOANcbkAAFa26BobWA285.png

wKgZO2d88uOAUULwAACMiTM_1xk066.png

wKgZPGd88uOAPRdSAACO9gRQHa0444.png

wKgZO2d88uOARZsFAACi8OTe8Ug674.png

配置 Sonar-scanner

將 Sonar-scaner 添加到 Jenkins 數據卷中并配置全局配置

wKgZO2d88uSAVTCuAAFAEA-CfWs018.png

wKgZPGd88uSAfJmAAACPM5rPvHw113.png

配置任務的 Sonar-scanner

sonar.projectname=${JOB_NAME}

sonar.projectKey=${JOB_NAME}

sonar.source=./

sonar.java.binaries=target

wKgZO2d88uWAe7TIAADck1rRy2A981.png

構建任務

wKgZPGd88uWAVPV-AADoyirKp3w378.png

構建成功

wKgZO2d88uWALKD1AAGHWWNl1f8186.png

wKgZPGd88uWAHyE9AADw3p08DfE310.png

體驗和感受

在追求高效開發與快速迭代的軟件開發領域,代碼質量是確保軟件穩定性和可靠性的基石。華為云 Flexus X 實例,以其卓越的性能和穩定的云環境,為企業用戶提供了強大的基礎設施支持。結合 Jenkins 持續集成/持續部署(CI/CD)工具與 SonarQube 代碼質量管理平臺,Flexusx 更是為企業開啟了自動化代碼質量監控的新篇章。

Jenkins 與 SonarQube 的集成部署,實現了代碼提交后的自動構建、測試以及質量分析。每當有新的代碼提交,Jenkins 便會觸發構建流程,并將構建結果傳遞給 SonarQube 進行深度代碼質量檢查。SonarQube 能夠識別潛在的代碼缺陷、漏洞以及不規范的編碼實踐,并提供詳細的報告和改進建議。

值此 828 華為云企業上云節之際,可以體驗 Flexusx 服務器上 Jenkins 與 SonarQube 的集成部署方案。這一方案將顯著提升您的軟件開發效率與代碼質量,幫助您構建更加健壯、可靠的應用程序。讓 Flexusx 成為您軟件質量提升的加速器,Jenkins 與 SonarQube 則為您的代碼質量保駕護航。

選擇華為云 Flexus X 實例,攜手 Jenkins 與 SonarQube,共同開啟自動化代碼質量監控的新時代。點擊下方鏈接,在 828 上云節的特惠期間,讓我們攜手并進,共創軟件開發的輝煌未來!

產品鏈接華為云Flexus云服務器X實例直播建站服務器-華為云

wKgZO2d88uaAO8BbAAMdMY7jqCs587.png

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 華為云
    +關注

    關注

    3

    文章

    2605

    瀏覽量

    17475
  • jenkins
    +關注

    關注

    0

    文章

    31

    瀏覽量

    5156
收藏 人收藏

    評論

    相關推薦

    如何在持續集成開發流程中使用Jenkins和Docker?

    Jenkins自動化我們開發的測試流程。 在您開始之前,我們假設您對Arm上的嵌入式軟件開發有基本的了解。Docker、Jenkins和Arm Fast模型將在指南中進行解釋。 對Python的高級
    發表于 08-02 10:50

    Jenkins管理的持續集成境引入Docker來優化資源配置

    Jenkins是被廣泛應用的持續集成自動化測試、持續部署的框架,甚至有些項目組順便將其用來做流程管理的工具。根據任務的多寡,Jenkins
    發表于 09-26 11:42 ?0次下載
    在<b class='flag-5'>Jenkins</b>管理的持續<b class='flag-5'>集成</b>境引入Docker來優化資源配置

    jenkins有什么用_jenkins如何自動部署

    Jenkins是一個開源的、提供友好操作界面的持續集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持續、自動的構建/測試軟件項目、監控外部任務的運行(這個比較抽象
    發表于 12-20 19:06 ?3.7w次閱讀
    <b class='flag-5'>jenkins</b>有什么用_<b class='flag-5'>jenkins</b>如何<b class='flag-5'>自動</b><b class='flag-5'>部署</b>

    jenkins自動化部署

    本文詳細介紹Jenkins的簡單使用—jenkins自動化部署
    的頭像 發表于 02-06 11:27 ?4700次閱讀
    <b class='flag-5'>jenkins</b><b class='flag-5'>自動化</b><b class='flag-5'>部署</b>

    jenkins持續集成原理

    本文詳細介紹了jenkins持續集成原理。持續集成就是為解決程序代碼提交質量低,提交內容導致原有系統的bug,按時或按需
    的頭像 發表于 02-06 11:43 ?4102次閱讀

    Jenkins詳細安裝與構建部署使用教程

    本文詳細介紹了Jenkins安裝與構建部署使用教程。Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Je
    發表于 02-06 13:47 ?1769次閱讀
    <b class='flag-5'>Jenkins</b>詳細安裝與構建<b class='flag-5'>部署</b>使用教程

    Jenkins+Docker一鍵自動化部署SpringBoot最簡流程

    簡述實現步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現項目自動拉取打包并運行。
    的頭像 發表于 11-23 10:16 ?1395次閱讀

    Jenkins+Docker一鍵自動化部署SpringBoot項目

    本文章實現最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發表于 12-14 10:04 ?928次閱讀

    Jenkins+Docker實現一鍵自動化部署項目!

    本文章實現最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發表于 01-06 15:36 ?1276次閱讀

    Jenkins+Docker一鍵自動化部署SpringBoot應用最精簡流程

    簡述實現步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現項目自動拉取打包并運行。
    的頭像 發表于 11-06 16:27 ?2340次閱讀
    <b class='flag-5'>Jenkins</b>+Docker一鍵<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>SpringBoot應用最精簡流程

    基于Jenkins+GitLab+Maven實現代碼自動打包編譯發布

    Jenkins是一個獨立開源的持續集成和持續交付工具,用于自動化構建、測試和部署軟件項目。
    的頭像 發表于 11-20 09:57 ?5012次閱讀
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven實現<b class='flag-5'>代碼</b><b class='flag-5'>自動</b>打包編譯發布

    使用Jenkins和單個模板部署多個Kubernetes組件

    在持續集成部署中,我們通常需要部署多個實例或組件到Kubernetes集群中。通過Jenkins的管道腳本,我們可以自動化這個過程。在本文
    的頭像 發表于 01-02 11:40 ?802次閱讀
    使用<b class='flag-5'>Jenkins</b>和單個模板<b class='flag-5'>部署</b>多個Kubernetes組件

    Flexus X 實例 Docker+Jenkins+gitee 實現 CICD 自動化部署 - 解放你的雙手~

    前言 828 B2B 企業節特惠來襲,Flexus X 實例引領自動化部署新紀元!Docker 攜手 Jenkins 與 Gitee,共創 CICD 無限可能!在快速迭代的數字時代,我們自豪地推出
    的頭像 發表于 12-26 18:19 ?183次閱讀
    Flexus X 實例 Docker+<b class='flag-5'>Jenkins</b>+gitee 實現 CICD <b class='flag-5'>自動化</b><b class='flag-5'>部署</b> - 解放你的雙手~

    云服務器Flexus X實例,Docker集成搭建Jenkins CI/CD平臺

    Jenkins 是一個開源的自動化服務器,用于持續集成(CI)和持續交付(CD)軟件項目。它允許開發人員在軟件開發過程中自動化各種任務,如構建、測試和
    的頭像 發表于 12-29 15:43 ?127次閱讀
    云服務器Flexus X實例,Docker<b class='flag-5'>集成</b>搭建<b class='flag-5'>Jenkins</b> CI/CD平臺

    基于 Docker 與 Jenkins 實現自動化部署

    前言 重塑自動化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務器的加持下,引領持續集成部署的新紀元。F
    的頭像 發表于 01-07 17:25 ?131次閱讀
    基于 Docker 與 <b class='flag-5'>Jenkins</b> 實現<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>
    主站蜘蛛池模板: 久久免| 亚洲精品美女久久久aaa| 午夜国产高清精品一区免费| www四虎影视| 又长又大又粗又硬3p免费视| 午夜神马福利| 色综合图片二区150p| 黄网站色| 一区二区三区四区在线观看视频 | 亚洲理论在线| 天天操天天干天天舔| 久操久操久操| 免费在线播放视频| 女人本色高清在线观看wwwwww国产| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲成熟| 欧美成人性色| 丁香花在线观看免费观看| 午夜免费啪在线观看视频网站| 人人插人人干| h在线网站| 在线播放你懂得| 日本高免费观看在线播放| 久久男人精品| 午夜影院免费观看| 国产福利在线免费| 亚洲不卡视频| 特黄特级高清免费视频毛片| 久久亚洲一级毛片| 亚洲福利午夜| 国产成人福利夜色影视| 日本欧美一区二区| 四虎影视大全免费入口| 久久久久久久性潮| 天天狠天天插| 一区二区在线免费观看| 亚洲高清免费在线观看| 久久这里只有精品免费视频| 久久久久久免费播放一级毛片| 伊人啪| 久久综合九色综合网站|