九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
持續(xù)集成Jenkins+sonarqube部署教程

1 引言

1.1 文檔概要

本文主要介紹jenkins,sonar的安裝與集成,基于ant,maven構(gòu)建。用一個(gè)例子介紹jenkins的編譯打包部署,代碼檢查。最后集成jenkins。(現(xiàn)階段只是簡(jiǎn)易的集成,后續(xù)需要修改accio源碼做深度集成)

1.2 預(yù)計(jì)讀者

系統(tǒng)配置管理員:要懂得搭建持續(xù)集成環(huán)境,有問題可以排查;
架構(gòu)師:了解持續(xù)集成實(shí)現(xiàn)原理,協(xié)助項(xiàng)目接入持續(xù)集成。項(xiàng)目在持續(xù)集成環(huán)境運(yùn)行中,進(jìn)行維護(hù)、分析構(gòu)建異常等;
維護(hù)人員:重啟服務(wù)、排查環(huán)境問題、項(xiàng)目接入支持;

1.3 關(guān)于持續(xù)集成

提供一套可以持續(xù)集成項(xiàng)目流程。能夠給接入的項(xiàng)目提供每日構(gòu)建、自動(dòng)化測(cè)試的支持,提高項(xiàng)目質(zhì)量、節(jié)省項(xiàng)目成本。

2 預(yù)裝軟件

軟件名稱    平臺(tái)    備注jdk1.7.0_17    Win7    操作系統(tǒng)apache-ant-1.9.6    Win7    Antapache-tomcat-6.0.13    Win7    Tomcat容器

3 安裝列表

軟件名稱    平臺(tái)    備注Jenkins    Win7    端口 8080sonarqube-5.1.2    Win7    端口 9000sonar-runner-2.4    Win7    nexus-2.7.1-01    Linux    Maven私有服務(wù)

4 jenkins安裝步驟

4.1 安裝Jenkins服務(wù)端

從jenkins官網(wǎng)下載jenkins:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins點(diǎn)擊“download jenkins.war”

下載的為jenkins.zip將其更改為jenkins.war包,有兩種運(yùn)行方式
1. 運(yùn)行 java -jar jenkins.war,采用內(nèi)置jetty服務(wù)器。
2. 將下載的war包文件部署到 servlet 容器,然后啟動(dòng)容器(推薦這種方式)。
用瀏覽器打開http://localhost:8080/ jenkins,訪問Jenkins主頁(yè)。

安裝成功!

4.2 修改jenkins工作空間

Jenkins的默認(rèn)工作間在C:\Users\xxxxxx.jenkins,修改工作空為間D:\jenkins,只需要添加環(huán)境變量
JENKINS_HOME=D:\jenkins


重啟jenkins;

4.3 基本配置

配置JAVA_HOME \ANT_HOME\。只有配置了這三項(xiàng),Jenkins才能支持Ant構(gòu)建的Jave項(xiàng)目。
地址:
JAVA_HOME=D:\Program Files (x86)\Java\jdk1.7.0_17
ANT_HOME=D:\ant-1.6.5

用瀏覽器打開http://localhost:8080/ ,訪問Jenkins主頁(yè)。
點(diǎn)擊“系統(tǒng)管理”頁(yè)面


1. Utf-8編碼
Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. See Containers and Tomcat i18n for more details.

Jenkins建議在tomcat中使用utf-8編碼,配置tomcat下conf目錄的server.xml文件

2.系統(tǒng)設(shè)置
在已運(yùn)行的Jenkins主頁(yè)中,點(diǎn)擊左側(cè)的系統(tǒng)管理—>系統(tǒng)設(shè)置進(jìn)入如下界面:

3.JDK、Ant配置



4.Jenkins Location配置

5.郵件通知配置

注意:如果使用qq郵箱需要開通SMTP服務(wù),打開郵箱點(diǎn)擊“設(shè)置”》“賬戶”

4.4 郵件插件安裝

Jenkins默認(rèn)的郵件發(fā)送功能非常弱,多人發(fā)送、按情況發(fā)送、郵件模板都支持不好,因此需要按照增強(qiáng)版的郵件插件。
用瀏覽器打開http://localhost:8080/ ,訪問Jenkins主頁(yè)。
點(diǎn)擊“系統(tǒng)管理”-》“管理插件”


選擇“可選插件”卡片,顯示出所有可以下載安裝的插件。選擇“Email Extension Plugin”插件,點(diǎn)擊
按鈕。

等待插件安裝完成后,登錄到服務(wù)器上,重啟Jenkins服務(wù)!
服務(wù)重啟后,用瀏覽器打開http://localhost:8080/ ,訪問Jenkins主頁(yè)。
點(diǎn)擊“系統(tǒng)管理”-》“系統(tǒng)設(shè)置”
看到“Extended E-mail Notification”主題配置單元,就證明配置成功。



email-ext插件允許使用變量來(lái)動(dòng)態(tài)插入數(shù)據(jù)到郵件的主題和內(nèi)容主體中。變量是一個(gè)以$(美元符號(hào))開始,并以空格結(jié)束的字符串。當(dāng)一個(gè)郵件觸發(fā)時(shí),主題和內(nèi)容主體字段的所有變量都會(huì)通過真實(shí)的值動(dòng)態(tài)地替換。同樣,變量中的“值”能包含其它的變量,都將被替換成真實(shí)的內(nèi)容。

郵件的內(nèi)容如下:

項(xiàng)目名稱:$PROJECT_NAME



構(gòu)建編號(hào):$BUILD_NUMBER


svn版本號(hào):${SVN_REVISION}


構(gòu)建狀態(tài):$BUILD_STATUS


觸發(fā)原因:${CAUSE}


構(gòu)建日志地址:${BUILD_URL}console


構(gòu)建地址:$BUILD_URL


變更集:${JELLY_SCRIPT,template="html"}


全局屬性詳解
1. Override Global Settings:如果不選,該插件將使用默認(rèn)的E-mail Notification通知選項(xiàng)。反之,您可以通過指定不同于( 默認(rèn)選項(xiàng))的設(shè)置來(lái)進(jìn)行覆蓋。
2. Default Content Type:指定構(gòu)建后發(fā)送郵件內(nèi)容的類型,有Text和HTML兩種.
3. Use List-ID Email Header:為所有的郵件設(shè)置一個(gè)List-ID的郵件信頭,這樣你就可以在郵件客戶端使用過濾。它也能阻止郵件發(fā)件人大部分的自動(dòng)回復(fù)(諸如離開辦公室、休假等等)。你可以使用你習(xí)慣的任何名稱或者ID號(hào),但是他們必須符合如下其中一種格式(真實(shí)的ID必須要包含在<和>標(biāo)記里):

Build Notifications
“Build Notifications”
關(guān)于更詳細(xì)的List-ID說明請(qǐng)參閱RFC-2919.
4. Add 'Precedence: bulk' Email Header:設(shè)置優(yōu)先級(jí),更詳細(xì)說明請(qǐng)參閱RFC-3834.
5. Default Recipients:自定義默認(rèn)電子郵件收件人列表。如果沒有被項(xiàng)目配置覆蓋,該插件會(huì)使用這個(gè)列表。您可以在項(xiàng)目配置使用$ DEFAULT_RECIPIENTS參數(shù)包括此默認(rèn)列表,以及添加新的地址在項(xiàng)目級(jí)別。添加抄送:cc:電子郵件地址例如,CC:someone@somewhere.com
6. Reply To List:回復(fù)列表, A comma separated list of e-mail addresses to use in the Reply-To header of the email. This value will be available as $DEFAULT_REPLYTO in the project configuration.
7. Emergency reroute:如果這個(gè)字段不為空,所有的電子郵件將被單獨(dú)發(fā)送到該地址(或地址列表)。
8. Excluded Committers:防止郵件被郵件系統(tǒng)認(rèn)為是垃圾郵件,郵件列表應(yīng)該沒有擴(kuò)展的賬戶名(如:@domain.com),并且使用逗號(hào)分隔
9. Default Subject:自定義郵件通知的默認(rèn)主題名稱。該選項(xiàng)能在郵件的主題字段中替換一些參數(shù),這樣你就可以在構(gòu)建中包含指定的輸出信息。
10. Maximum Attachment Size:郵件最大附件大小。
11. Default Content:自定義郵件通知的默認(rèn)內(nèi)容主體。該選項(xiàng)能在郵件的內(nèi)容中替換一些參數(shù),這樣你就可以在構(gòu)建中包含指定的輸出信息。
12. Default Pre-send Script:默認(rèn)發(fā)送前執(zhí)行的腳本(注:grooy腳本,這是我在某篇文章上看到的,不一定準(zhǔn)確)。
13. Enable Debug Mode:?jiǎn)⒂貌寮恼{(diào)試模式。這將增加額外的日志輸出,構(gòu)建日志以及Jenkins的日志。在調(diào)試時(shí)是有用的,但不能用于生產(chǎn)。
14. Enable Security:?jiǎn)⒂脮r(shí),會(huì)禁用發(fā)送腳本的能力,直接進(jìn)入Jenkins實(shí)例。如果用戶試圖訪問Jenkins管理對(duì)象實(shí)例,將拋出一個(gè)安全異常。
15. Content Token Reference:郵件中可以使用的變量,所有的變量都是可選的。
郵件:

詳細(xì)配置可以參考 https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin4

4.5 權(quán)限插件安裝

點(diǎn)擊“系統(tǒng)管理”-》“管理插件”》“可選插件” 在搜索框輸入“Role-”點(diǎn)“直接下載”



點(diǎn)擊“系統(tǒng)管理”-》“Configure Global Security”


點(diǎn)擊“系統(tǒng)管理”-》“Manage and Assign Roles”

點(diǎn)擊“Manage Role”,Role to add 新增角色。

點(diǎn)擊點(diǎn)擊“系統(tǒng)管理”》“管理用戶”新增用戶

點(diǎn)擊“Assign Roles”,User/group to add ,給用戶添加相應(yīng)的權(quán)限

注意: 如果給anonymous新增admin權(quán)限,系統(tǒng)不用登陸也具有admin權(quán)限,所以其他的角色權(quán)限都是失效狀態(tài)。

4.6 自動(dòng)部署插件安裝

點(diǎn)擊“系統(tǒng)管理”-》“管理插件”》“可選插件”搜索“Deploy to container Plugin”,“直接下載”


配置tomcat權(quán)限,在tomcat的conf目錄下修改tomcat-users.xml,添加一下內(nèi)容。

<tomcat-users>  <role rolename="manager-status"/>  <role rolename="manager-jmx"/>  <role rolename="manager"/>  <role rolename="tomcat"/>  <role rolename="manager-script"/>  <role rolename="admin"/>  <role rolename="manager-gui"/>  <role rolename="role1"/>  <user username="mapengbo" password="mapengbo" roles="manager-gui,manager-script,manager-jmx,manager-status,tomcat,manager,admin"/></tomcat-users>

4.7 構(gòu)建一個(gè)自由風(fēng)格的項(xiàng)目

在已運(yùn)行的Jenkins主頁(yè)中,點(diǎn)擊左側(cè)的新建Job進(jìn)入如下界面:


輸入項(xiàng)目名稱選擇jdk(jdk已經(jīng)在全局配置中配置)

填寫項(xiàng)目的snv地址

配置觸發(fā)器 ,“H/15 * ***”表示每個(gè)15分鐘檢查svn有沒有更新,有更新則重新打包。

選擇項(xiàng)目構(gòu)建工具,本例中使用ant,ant已經(jīng)在全局配置中配置。

配置構(gòu)建完成自動(dòng)部署,部署需要安裝deploy插件,安裝方法同郵件插件安裝。如果是集群部署則需要點(diǎn)擊“Add Container”新增需要部署的容器。


看到如下日志說明部署成功

配置郵件插件

點(diǎn)擊“保存”。進(jìn)行項(xiàng)目構(gòu)建,點(diǎn)擊“立即構(gòu)建”

點(diǎn)擊構(gòu)建日期右邊的小三角,

點(diǎn)擊“Console Output”查看構(gòu)建日志


測(cè)試項(xiàng)目自動(dòng)構(gòu)建打包,打包完成后部署到遠(yuǎn)程服務(wù)器。

5 Sonar安裝

5.1 Sonar安裝

創(chuàng)建數(shù)據(jù)庫(kù),默認(rèn)數(shù)據(jù)庫(kù)H2,這里我們修改為mysqlCREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;  創(chuàng)建用戶CREATE USER 'sonar' IDENTIFIED BY 'sonar'; 給用戶授權(quán)GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';  GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar'; FLUSH PRIVILEGES;

修改sonar.properties文件 <img src="/uploads/default/original/1X/fca07e48ba970f088f9e062560d845ece83441e3.png" width="558" height="200">添加如下內(nèi)容,sonar默認(rèn)自帶mysql驅(qū)動(dòng)。sonar.jdbc.username=sonarsonar.jdbc.password=sonarsonar.jdbc.url=jdbc:mysql://10.10.5.64:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true sonar.jdbc.driverClassName=com.mysql.jdbc.Driver

運(yùn)行“StartSonar.bat”


訪問9000端口,sonar默認(rèn)自帶了jetty服務(wù)器。默認(rèn)用戶名密碼 admin、admin。一些設(shè)置和菜單只有在登陸之后才能看到。

安裝sonar漢化包,點(diǎn)擊“配置”》“系統(tǒng)”》“更新中心”》“Arailable Plugins”選擇“Chinese Pack”,由于我已經(jīng)安裝了漢化包所以沒有列出。


安裝完成后在“installed Plugins”可以看到該插件。記得重啟后,記得刷新一下瀏覽器

5.2 安裝sonar-runner

sonar.jdbc.username=sonarsonar.jdbc.password=sonarsonar.jdbc.url=jdbc:mysql://10.10.5.64:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true sonar.jdbc.driverClassName=com.mysql.jdbc.Driver

配置環(huán)境變量,將D:\sonar-runner-2.4\bin 添加到Path


在項(xiàng)目的根目錄下添加文件sonar-project.properties


文件內(nèi)容如下

sonar.projectKey=HotelMonitorsonar.projectName=HotelMonitorsonar.projectVersion=1.2sonar.sources=srcsonar.sourceEncoding=UTF-8sonar.language=java

在“開始”》“運(yùn)行”中輸入cmd切換的項(xiàng)目更目錄 輸入“sonar-runner”


看到如下日志,說明代碼校驗(yàn)成功

登陸http://localhost:9000/ 查看代碼掃描結(jié)果


點(diǎn)擊項(xiàng)目名稱查看校驗(yàn)詳情

6 Jenkins與sonar集成

6.1 Jenkins配置

點(diǎn)擊點(diǎn)擊“系統(tǒng)管理”》“系統(tǒng)設(shè)置”
配置sonar-runner有兩種方式
第一種jenkins自動(dòng)安裝sonar-runner


第二種 使用現(xiàn)有安裝

6.2 sonar配置


點(diǎn)擊“保存”。
在項(xiàng)目中配置sonar代碼分析
點(diǎn)擊項(xiàng)目名稱進(jìn)入項(xiàng)目配置,選擇“新增構(gòu)建步驟”,選擇“invoke Standalone Sonar Analysis”

作如下配置

點(diǎn)擊“保存”

將項(xiàng)目根目錄下的sonar-runner.properties提交svn,
執(zhí)行“立即構(gòu)建”
看到j(luò)enkins的控制臺(tái)輸出如下日志,校驗(yàn)成功



訪問http://localhost:9000/dashboard/index/HotelMonitor
查看校驗(yàn)結(jié)果。

若果本地安裝了sonar-runner,可以運(yùn)行本地bat腳本的方式運(yùn)行sonar-runner,配置如下,前提是必須將sonar-runner加入的環(huán)境變量, 選擇“增加構(gòu)建步驟”


輸入bat腳本

修改sonar配置,做如下配置,打開sonar配置頁(yè)面,配置“disable the SCM Sensor”為“是”

否則會(huì)報(bào)如下錯(cuò)誤

7 Maven安裝與maven私服的搭建

7.1 Maven安裝

在maven官網(wǎng)下載maven
http://maven.apache.org/download.cgi
下載apache-maven-3.1.1-bin.zip并解壓


配置環(huán)境變量

打開cmd窗口數(shù)據(jù) mvn –v 查看maven版本,打印如下表示安裝成功。

7.2 Maven私服nexus安裝

下載nexus http://www.sonatype.org/nexus/go/,我下載的是linux版本。

nexus-latest-bundle.tar.gz
將安裝包復(fù)制到需要安裝的機(jī)器,我安裝在/opt/soft/nexus
tar –zxvf nexus-latest-bundle.tar.gz
解壓后會(huì)出現(xiàn)兩個(gè)目錄


cd nexus-2.7.7-01/bin
./nexus
輸出如下:

列出了nexus的各種命令
./nexus start 啟動(dòng)服務(wù)
然后在本機(jī)訪問http://localhost:8081/nexus,默認(rèn)用戶名密碼:admin,admin123

如果是遠(yuǎn)程機(jī)訪問還需要開通8081端口,操作如下:

/sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT #開啟8081端口 /etc/rc.d/init.d/iptables save #保存配置 /etc/rc.d/init.d/iptables restart #重啟服務(wù) 查看端口是否已經(jīng)開放 /etc/init.d/iptables status

7.3 Nexus配置

Chmod 777 –R sonatype-work

修改maven安裝目錄conf下的settings.xml文件添加如下代碼

1.在profiles節(jié)點(diǎn)下添加  <profile>    <repositories>          <repository>              <id>nexus</id>              <name>nexus</name>              <url>http://10.10.152.174:8081/nexus/content/groups/public/</url>              <releases>                  <enabled>true</enabled>              </releases>              <snapshots>                  <enabled>true</enabled>              </snapshots>          </repository>      </repositories>   </profile>在settings節(jié)點(diǎn)下添加<activeProfiles>           <activeProfile>central</activeProfile>                </activeProfiles> 在services節(jié)點(diǎn)下添加       <server>                    <id>releases</id>                    <username>admin</username>                    <password>admin123</password>            </server>            <server>                    <id>snapshots</id>                    <username>admin</username>                    <password>admin123</password>            </server>在項(xiàng)目的pom文件中添加     <distributionManagement>              <repository>                      <id>releases</id>                      <name>Nexus Release Repository</name>                      <url>http://10.10.152.174:8081/nexus/content/repositories/releases/</url>              </repository>              <snapshotRepository>                      <id>snapshots</id>                      <name>Nexus Snapshot Repository</name>                      <url>http://10.10.152.174:8081/nexus/content/repositories/snapshots/</url>              </snapshotRepository>      </distributionManagement>然后執(zhí)行clean deploy


或者在eclipse中輸入命令執(zhí)行

查看私服部署的jar包

7.4 Nexus上傳jar包

右鍵“3rd party”

在索引中查看上傳的jar包


如果要引用該jar包只需要將描述中的xml添加到項(xiàng)目引用的opm文件中

7.5 Maven相關(guān)命令

help:system可以打印所有可用的環(huán)境變量和Java系統(tǒng)屬性。
help:effective-pom用于查看當(dāng)前生效的POM內(nèi)容,指合并了所有父POM(包括Super POM)后的XML,所以可用于檢測(cè)POM中某個(gè)配置是否生效
help:effective-settings可用于查看當(dāng)前生效的settings.xml文件內(nèi)容,所以可用于判斷某個(gè)settings配置是否生效
mvn help:describe 你是否因?yàn)橛洸磺迥硞€(gè)插件有哪些goal而痛苦過,你是否因?yàn)橄氩黄鹉硞€(gè)goal有哪些參數(shù)而苦惱,那就試試這個(gè)命令吧,它會(huì)告訴你一切的. 參數(shù): 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:與-Dplugin一起使用,它會(huì)列出某個(gè)插件的goal信息,如果嫌不夠詳細(xì),同樣可以加-Ddetail.(注:一個(gè)插件goal也被認(rèn)為是一個(gè) “Mojo”) 下面大家就運(yùn)行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!
mvn archetype:generate 你是怎么創(chuàng)建你的maven項(xiàng)目的?是不是像這樣:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,如果你還再用的話,那你就out了,現(xiàn)代人都用mvn archetype:generate了,它將創(chuàng)建項(xiàng)目這件枯燥的事更加人性化,你再也不需要記那么多的archetypeArtifactId,你只需輸入archetype:generate,剩下的就是做”選擇題”了.
mvn tomcat:run 用了maven后,你再也不需要用eclipse里的tomcat來(lái)運(yùn)行web項(xiàng)目(實(shí)際工作中經(jīng)常會(huì)發(fā)現(xiàn)用它會(huì)出現(xiàn)不同步更新的情況),只需在對(duì)應(yīng)目錄(如/ryanote)里運(yùn)行 mvn tomat:run命令,然后就可在瀏覽器里運(yùn)行http://localhost:8080/ryanote查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置: 01 02 03 04 org.codehaus.mojo 05 tomcat-maven-plugin 06 07 /web 08 9090 09 10 11 12 當(dāng)然你也可以在命令里加參數(shù)來(lái)實(shí)現(xiàn)特定的功能,下面幾個(gè)比較常用: 1. 跳過測(cè)試:-Dmaven.test.skip(=true) 2. 指定端口:-Dmaven.tomcat.port=9090 3. 忽略測(cè)試失敗:-Dmaven.test.failure.ignore=true 當(dāng)然,如果你的其它關(guān)聯(lián)項(xiàng)目有過更新的話,一定要在項(xiàng)目根目錄下運(yùn)行mvn clean install來(lái)執(zhí)行更新,再運(yùn)行mvn tomcat:run使改動(dòng)生效.
mvnDebug tomcat:run 這條命令主要用來(lái)遠(yuǎn)程測(cè)試,它會(huì)監(jiān)聽遠(yuǎn)程測(cè)試用的8000端口,在eclipse里打開遠(yuǎn)程測(cè)試后,它就會(huì)跑起來(lái)了,設(shè)斷點(diǎn),調(diào)試,一切都是這么簡(jiǎn)單.上面提到的那幾個(gè)參數(shù)在這里同樣適用.
mvn dependency:sources 故名思義,有了它,你就不用到處找源碼了,運(yùn)行一下,你項(xiàng)目里所依賴的jar包的源碼就都有了

8 Jenkins,maven,sonar集成

8.1 集成

默認(rèn)jenkins已經(jīng)安裝了maven插件


在jenkins“系統(tǒng)管理”》“系統(tǒng)設(shè)置”中添加jenkins配置,也可以使用“自動(dòng)安裝”

新建一個(gè)maven項(xiàng)目,在“項(xiàng)目配置”中輸入svn地址

添加sonar代碼分析,在“增加構(gòu)建后操作步驟”選擇“sonar”

點(diǎn)擊“保存”后進(jìn)行項(xiàng)目構(gòu)建,可以看到j(luò)enkins從私服上下載相關(guān)依賴jar包

訪問http://localhost:9000/ 查看sonar生成的代碼監(jiān)測(cè)報(bào)告

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Jenkins 集成 SonarQube Scanner
snv+maven+jenkins+jboss+sonar做持續(xù)集成
Jenkins Docker持續(xù)集成
『互聯(lián)網(wǎng)架構(gòu)』軟件架構(gòu)
Jenkins服務(wù)器安裝與配置
SonarQube Installation and Configuration Ref
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服