亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Jenkins 與 SonarQube 集成部署,自動(dòng)化代碼質(zhì)量監(jiān)控

jf_21561199 ? 來(lái)源:jf_21561199 ? 作者:jf_21561199 ? 2025-01-07 17:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

強(qiáng)化代碼質(zhì)量,加速軟件交付!Jenkins 攜手 SonarQube,與華為云 Flexus X 云服務(wù)器強(qiáng)強(qiáng)聯(lián)合,打造自動(dòng)化代碼質(zhì)量監(jiān)控新生態(tài)。Flexus X 以其靈活的算力配置、卓越的性能表現(xiàn),為 Jenkins 與 SonarQube 的集成部署提供強(qiáng)大支撐。在 Flexus X 的助力下,自動(dòng)化代碼掃描與質(zhì)量問(wèn)題即時(shí)反饋成為可能,顯著提升團(tuán)隊(duì)開(kāi)發(fā)效率與軟件質(zhì)量。立即體驗(yàn)華為云 828 企業(yè)上云節(jié)優(yōu)惠,讓 Jenkins 與 SonarQube 的集成部署更加順暢,共同守護(hù)您的代碼質(zhì)量,加速軟件交付周期!

wKgZPGd88t6AK9YwAAEA4xEY1H4138.png

SonarQube 介紹

SonarQube 是一款用于代碼質(zhì)量管理的開(kāi)源工具,它采用 B/S 架構(gòu),主要用于管理源代碼的質(zhì)量。 通過(guò) SonarQube 我們可以檢測(cè)出項(xiàng)目中重復(fù)代碼, 潛在 bug, 代碼規(guī)范,安全性漏洞等問(wèn)題, 并通過(guò) SonarQube web UI 展示出來(lái)。

wKgZO2d88t-ANwcQAABO6yBwzU0894.png

SonarQube 環(huán)境搭建

需要了解:

采用 docker 方式進(jìn)行部署 SonarQube 代碼質(zhì)量管理的開(kāi)源工具

詳細(xì)購(gòu)買配置實(shí)例可參考文章:快速部署華為云FlexusX實(shí)例,開(kāi)啟您的云端之旅

部署 docker 服務(wù)請(qǐng)參考文章:華為FlexusX與Docker+Nginx的高效整合之路

SonarQube 的安裝

SonarQube 在 7.9 版本中已經(jīng)放棄了對(duì) MySQL 的支持,并且建議在商業(yè)環(huán)境中采用 PostgreSQL,那么安裝 SonarQube 時(shí)需要依賴 PostgreSQL。

并且這里會(huì)安裝 SonarQube 的長(zhǎng)期支持版本8.9

拉取鏡像

[root@flexusx-251f~]#dockerpullpostgres

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

#創(chuàng)建目錄

[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#映射端口到宿主機(jī),以從外部訪問(wèn)數(shù)據(jù)庫(kù)

networks:

-sonarnet#連接到 sonarnet 網(wǎng)絡(luò)

environment:

POSTGRES_USER:sonar#創(chuàng)建數(shù)據(jù)庫(kù)

POSTGRES_PASSWORD:sonar#數(shù)據(jù)庫(kù)密碼

sonarqube:

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

container_name:sonarqube#指定容器名稱

depends_on:

-db#指定服務(wù)

ports:

-"9000:9000"#映射端口到宿主機(jī),以便可以從外部訪問(wèn) SonarQube。

networks:

-sonarnet#連接到 sonarnet 網(wǎng)絡(luò)

environment:

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

SONAR_JDBC_USERNAME:sonar

SONAR_JDBC_PASSWORD:sonar

networks:

sonarnet:

driver:bridge#創(chuàng)建橋接網(wǎng)絡(luò)

配置 sysctl.conf 文件信息。設(shè)置 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

啟動(dòng)容器

[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

### 訪問(wèn) SonarQube 首頁(yè)

放行安全組 9000,5432

wKgZPGd88t-ARN6dAAEnNUr1Zr8951.png

訪問(wèn)地址:http://主機(jī) ip:9000

wKgZPGd88t-AWXj-AABHsF3zP2Q004.png

登錄用戶名和密碼均為 admin

wKgZO2d88uCAGi1NAAAYkz5mAfU047.png

登錄成功進(jìn)行密碼修改

wKgZPGd88uCAPYaeAABMhNSMd-I411.png

進(jìn)入 Sonar Qube首頁(yè)

wKgZO2d88uCAUSKcAADCl87zr1U163.png

安裝中文插件

我同意風(fēng)險(xiǎn),并點(diǎn)擊安裝

wKgZPGd88uCANbBWAAF7D_FlnNQ406.png

安裝成功后,會(huì)查看到重啟按鈕,點(diǎn)擊即可

wKgZO2d88uGAIv5pAAFT-ECAuJs630.png

Jenkins 集成 Sonar Qube

Jenkins 繼承 Sonar Qube 實(shí)現(xiàn)代碼掃描需要先下載整合插件

Jenkins 安裝插件

下載 Sonar Qube 插件

wKgZPGd88uGAZmU8AAFRr6mkt44606.png

wKgZO2d88uGAXHhjAADRcLMdebI163.png

安裝成功

wKgZPGd88uGAWXlVAACbNjGVpLY746.png

Sonar-scanner 實(shí)現(xiàn)代碼檢測(cè)****

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

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

我們直接在/Jenkins/data 目錄進(jìn)行安裝,因?yàn)槲覀儗⒅鳈C(jī)的/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 服務(wù)端地址,修改 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

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

# 去到項(xiàng)目目錄下

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

# 在主機(jī)進(jìn)行指定 sonar-scanner 運(yùn)行

[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 界面檢測(cè)結(jié)果

wKgZO2d88uKAdaH2AAC_ds7SAU8122.png

Jenkins 配置 Sonar Qube

開(kāi)啟 Sonar Qube 權(quán)限驗(yàn)證

wKgZPGd88uKAIzfqAAEv4o99uTA725.png

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

5544214f876d9ef6737c0f2a731991d877adf380

wKgZO2d88uKADmsVAADZstK8Y4Y173.png

配置 Jenkins 的 Sonar Qube 信息

wKgZPGd88uOANcbkAAFa26BobWA285.png

wKgZO2d88uOAUULwAACMiTM_1xk066.png

wKgZPGd88uOAPRdSAACO9gRQHa0444.png

wKgZO2d88uOARZsFAACi8OTe8Ug674.png

配置 Sonar-scanner

將 Sonar-scaner 添加到 Jenkins 數(shù)據(jù)卷中并配置全局配置

wKgZO2d88uSAVTCuAAFAEA-CfWs018.png

wKgZPGd88uSAfJmAAACPM5rPvHw113.png

配置任務(wù)的 Sonar-scanner

sonar.projectname=${JOB_NAME}

sonar.projectKey=${JOB_NAME}

sonar.source=./

sonar.java.binaries=target

wKgZO2d88uWAe7TIAADck1rRy2A981.png

構(gòu)建任務(wù)

wKgZPGd88uWAVPV-AADoyirKp3w378.png

構(gòu)建成功

wKgZO2d88uWALKD1AAGHWWNl1f8186.png

wKgZPGd88uWAHyE9AADw3p08DfE310.png

體驗(yàn)和感受

在追求高效開(kāi)發(fā)與快速迭代的軟件開(kāi)發(fā)領(lǐng)域,代碼質(zhì)量是確保軟件穩(wěn)定性和可靠性的基石。華為云 Flexus X 實(shí)例,以其卓越的性能和穩(wěn)定的云環(huán)境,為企業(yè)用戶提供了強(qiáng)大的基礎(chǔ)設(shè)施支持。結(jié)合 Jenkins 持續(xù)集成/持續(xù)部署(CI/CD)工具與 SonarQube 代碼質(zhì)量管理平臺(tái),F(xiàn)lexusx 更是為企業(yè)開(kāi)啟了自動(dòng)化代碼質(zhì)量監(jiān)控的新篇章。

Jenkins 與 SonarQube 的集成部署,實(shí)現(xiàn)了代碼提交后的自動(dòng)構(gòu)建、測(cè)試以及質(zhì)量分析。每當(dāng)有新的代碼提交,Jenkins 便會(huì)觸發(fā)構(gòu)建流程,并將構(gòu)建結(jié)果傳遞給 SonarQube 進(jìn)行深度代碼質(zhì)量檢查。SonarQube 能夠識(shí)別潛在的代碼缺陷、漏洞以及不規(guī)范的編碼實(shí)踐,并提供詳細(xì)的報(bào)告和改進(jìn)建議。

值此 828 華為云企業(yè)上云節(jié)之際,可以體驗(yàn) Flexusx 服務(wù)器上 Jenkins 與 SonarQube 的集成部署方案。這一方案將顯著提升您的軟件開(kāi)發(fā)效率與代碼質(zhì)量,幫助您構(gòu)建更加健壯、可靠的應(yīng)用程序。讓 Flexusx 成為您軟件質(zhì)量提升的加速器,Jenkins 與 SonarQube 則為您的代碼質(zhì)量保駕護(hù)航。

選擇華為云 Flexus X 實(shí)例,攜手 Jenkins 與 SonarQube,共同開(kāi)啟自動(dòng)化代碼質(zhì)量監(jiān)控的新時(shí)代。點(diǎn)擊下方鏈接,在 828 上云節(jié)的特惠期間,讓我們攜手并進(jìn),共創(chuàng)軟件開(kāi)發(fā)的輝煌未來(lái)!

產(chǎn)品鏈接華為云Flexus云服務(wù)器X實(shí)例直播建站服務(wù)器-華為云

wKgZO2d88uaAO8BbAAMdMY7jqCs587.png

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 華為云
    +關(guān)注

    關(guān)注

    3

    文章

    2771

    瀏覽量

    18305
  • jenkins
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    5331
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在持續(xù)集成開(kāi)發(fā)流程中使用Jenkins和Docker?

    Jenkins自動(dòng)化我們開(kāi)發(fā)的測(cè)試流程。 在您開(kāi)始之前,我們假設(shè)您對(duì)Arm上的嵌入式軟件開(kāi)發(fā)有基本的了解。Docker、Jenkins和Arm Fast模型將在指南中進(jìn)行解釋。 對(duì)Python的高級(jí)
    發(fā)表于 08-02 10:50

    Jenkins管理的持續(xù)集成境引入Docker來(lái)優(yōu)化資源配置

    Jenkins是被廣泛應(yīng)用的持續(xù)集成自動(dòng)化測(cè)試、持續(xù)部署的框架,甚至有些項(xiàng)目組順便將其用來(lái)做流程管理的工具。根據(jù)任務(wù)的多寡,Jenkins
    發(fā)表于 09-26 11:42 ?0次下載
    在<b class='flag-5'>Jenkins</b>管理的持續(xù)<b class='flag-5'>集成</b>境引入Docker來(lái)優(yōu)化資源配置

    jenkins有什么用_jenkins如何自動(dòng)部署

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

    jenkins自動(dòng)化部署

    本文詳細(xì)介紹Jenkins的簡(jiǎn)單使用—jenkins自動(dòng)化部署
    的頭像 發(fā)表于 02-06 11:27 ?4989次閱讀
    <b class='flag-5'>jenkins</b><b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b>

    jenkins持續(xù)集成原理

    本文詳細(xì)介紹了jenkins持續(xù)集成原理。持續(xù)集成就是為解決程序代碼提交質(zhì)量低,提交內(nèi)容導(dǎo)致原有系統(tǒng)的bug,按時(shí)或按需
    的頭像 發(fā)表于 02-06 11:43 ?4360次閱讀

    Jenkins詳細(xì)安裝與構(gòu)建部署使用教程

    本文詳細(xì)介紹了Jenkins安裝與構(gòu)建部署使用教程。Jenkins是一個(gè)開(kāi)源軟件項(xiàng)目,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。Je
    發(fā)表于 02-06 13:47 ?1830次閱讀
    <b class='flag-5'>Jenkins</b>詳細(xì)安裝與構(gòu)建<b class='flag-5'>部署</b>使用教程

    Jenkins+Docker一鍵自動(dòng)化部署SpringBoot項(xiàng)目

    本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 12-14 10:04 ?1251次閱讀

    Jenkins+Docker實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目!

    本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 01-06 15:36 ?1470次閱讀

    基于Jenkins+GitLab+Maven實(shí)現(xiàn)代碼自動(dòng)打包編譯發(fā)布

    Jenkins是一個(gè)獨(dú)立開(kāi)源的持續(xù)集成和持續(xù)交付工具,用于自動(dòng)化構(gòu)建、測(cè)試和部署軟件項(xiàng)目。
    的頭像 發(fā)表于 11-20 09:57 ?5900次閱讀
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven實(shí)現(xiàn)<b class='flag-5'>代碼</b><b class='flag-5'>自動(dòng)</b>打包編譯發(fā)布

    使用Jenkins和單個(gè)模板部署多個(gè)Kubernetes組件

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

    Flexus X 實(shí)例 Docker+Jenkins+gitee 實(shí)現(xiàn) CICD 自動(dòng)化部署 - 解放你的雙手~

    前言 828 B2B 企業(yè)節(jié)特惠來(lái)襲,F(xiàn)lexus X 實(shí)例引領(lǐng)自動(dòng)化部署新紀(jì)元!Docker 攜手 Jenkins 與 Gitee,共創(chuàng) CICD 無(wú)限可能!在快速迭代的數(shù)字時(shí)代,我們自豪地推出
    的頭像 發(fā)表于 12-26 18:19 ?479次閱讀
    Flexus X 實(shí)例 Docker+<b class='flag-5'>Jenkins</b>+gitee 實(shí)現(xiàn) CICD <b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b> - 解放你的雙手~

    云服務(wù)器Flexus X實(shí)例,Docker集成搭建Jenkins CI/CD平臺(tái)

    Jenkins 是一個(gè)開(kāi)源的自動(dòng)化服務(wù)器,用于持續(xù)集成(CI)和持續(xù)交付(CD)軟件項(xiàng)目。它允許開(kāi)發(fā)人員在軟件開(kāi)發(fā)過(guò)程中自動(dòng)化各種任務(wù),如構(gòu)建、測(cè)試和
    的頭像 發(fā)表于 12-29 15:43 ?418次閱讀
    云服務(wù)器Flexus X實(shí)例,Docker<b class='flag-5'>集成</b>搭建<b class='flag-5'>Jenkins</b> CI/CD平臺(tái)

    基于 Docker 與 Jenkins 實(shí)現(xiàn)自動(dòng)化部署

    前言 重塑自動(dòng)化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務(wù)器的加持下,引領(lǐng)持續(xù)集成部署的新紀(jì)元。F
    的頭像 發(fā)表于 01-07 17:25 ?528次閱讀
    基于 Docker 與 <b class='flag-5'>Jenkins</b> 實(shí)現(xiàn)<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b>

    Jenkins的安裝教程

    Jenkins是一個(gè)開(kāi)源的、提供友好操作界面的持續(xù)集成(CI)工具,廣泛用于項(xiàng)目開(kāi)發(fā),具有自動(dòng)化構(gòu)建、測(cè)試和部署等功能。Jenkins用Ja
    的頭像 發(fā)表于 02-06 10:04 ?1071次閱讀
    <b class='flag-5'>Jenkins</b>的安裝教程

    一文掌握Jenkins自動(dòng)化部署

    Jenkins自動(dòng)化部署是現(xiàn)代軟件開(kāi)發(fā)中不可或缺的一部分,它不僅簡(jiǎn)化了代碼的發(fā)布過(guò)程,還為整個(gè)團(tuán)隊(duì)帶來(lái)了無(wú)與倫比的效率和協(xié)作力。想象一下,開(kāi)發(fā)者們可以專注于編寫高
    的頭像 發(fā)表于 04-23 10:50 ?2190次閱讀
    一文掌握<b class='flag-5'>Jenkins</b><b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b>