电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

linux服務器安裝SonarQube代碼檢測工具的詳細步驟

瀏覽:172日期:2023-03-07 14:40:24
目錄
  • 背景
  • 注意(重點)
  • 步驟
    • 1、安裝jdk
    • 2、安裝配置mysql5.7
    • 3、安裝SonarQube
    • 4、配置數據庫和SonarQube
    • 5、安裝中文語音包

背景

最近公司技術大佬同事告知,sonarlint可以用來檢測代碼是否有問題,并且能將其集成到Jenkins里面。本著好奇的心思來研究了一下,花了點時間將其在linux服務器上搭建完畢,網上可以查到的文章和教程資料并不少,但是很多寫的不是很完美,會很容易踩坑,所以這里把本次成功的步驟記錄下,并且把安裝前注意的點接下來介紹下。

注意(重點)

這里需要注意,任何一個步驟錯,都可能會導致服務起不來:

  • SonarLint是IDEA的插件,linux服務器上安裝的是Sonarqube;
  • SonarQube安裝之前需要事先安裝好java環境和mysql,三者有很強的版本對應關系;
  • SonarQube在我寫這篇文章時已經迭代到了8.99版本,但是7.8及以下的版本才支持jdk8,如果是7.9及以后版本的,只支持jdk11。這不算什么問題,即使你的環境是jdk8,你想用7.9以上的SonarQube也是可以的,只需要服務器上裝個jdk11,讓SonarQube指定jdk11就行了;
  • SonarQube在7.9版本開始不再支持mysql。 我平時用的mysql更多一些,而且我們的環境也正好是jdk8,所以不難看出,我的當下使用的SonarQube版本肯定是要小于等于7.8了。 我本次使用的各版本的安裝包為:jdk-8u221-linux-x64.tar.gzmysql-5.7.35-el7-x86_64.tar.gzsonarqube-7.7.zip,這是百度云網盤下載鏈接。

鏈接: https://pan.baidu.com/s/1wpj-Q2ausDDc4XVAKJo9IQ?pwd=yxvt

提取碼: yxvt

步驟

1、安裝jdk

[root@localhost ~]# cd /usr      # 將jdk安裝包放到/usr下并安裝在此[root@localhost usr]# tar -xf jdk-8u221-linux-x64.tar.gz[root@localhost usr]# vim /etc/profile      # 輸入以下三行環境變量export JAVA_HOME=/usr/jdk1.8.0_221export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar[root@localhost usr]# source /etc/profile      # 使環境變量配置文件生效[root@localhost usr]# java -version       # 彈出下面的三行內容說明jdk安裝成功java version "1.8.0_221"Java(TM) SE Runtime Environment (build 1.8.0_221-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

2、安裝配置mysql5.7

[root@localhost ~]# cd /usr/local       # 本次將mysql安裝包放到了/usr/local下并安裝在此[root@localhost local]# tar -xf mysql-5.7.35-el7-x86_64.tar.gz[root@localhost local]# mv mysql-5.7.35-el7-x86_64  mysql    # 給目錄改個簡單的名[root@localhost local]# groupadd mysql      # 創建個mysql用戶組[root@localhost local]# useradd -r -g mysql mysql      # 創建個mysql組的用戶mysql[root@localhost local]# mkdir -p  /data/mysql       # 創建個數據庫數據目錄[root@localhost local]# chown mysql:mysql -R /data/mysql       # 將此數據目錄的所屬主和所屬組分配給mysql[root@localhost local]# vim /etc/my.cnf	  # 只保留以下13行內容,注意這里面的鍵值對要正確,默認跟著我的操作沒問題[mysqld]bind-address=0.0.0.0port=3306user=mysqlbasedir=/usr/local/mysqldatadir=/data/mysqlsocket=/tmp/mysql.socklog-error=/data/mysql/mysql.errpid-file=/data/mysql/mysql.pid#character configcharacter_set_server=utf8mb4symbolic-links=0explicit_defaults_for_timestamp=true[root@localhost local]# cd /usr/local/mysql/bin/[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize[root@localhost bin]# cat /data/mysql/mysql.err      # 頁面輸出內容最后一行查看并記下來數據庫初始密碼[root@localhost bin]# ln -s  /usr/local/mysql/bin/mysql    /usr/bin  # 創建mysql短鏈接方便啟動[root@localhost bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql[root@localhost bin]# service mysql start       # 啟動mysql,會有成功的提示[root@localhost bin]# ps -ef|grep mysql       # 查得到mysql進程說明啟動成功[root@localhost bin]# mysql -u root -p      # 登錄mysql,交互式輸入上面看到的初始密碼
mysql> SET PASSWORD = PASSWORD("123456");    # 更新密碼,這里更新的123456,根據自己需要更新  mysql> ALTER USER "root"@"localhost" PASSWORD EXPIRE NEVER;    # 設置root密碼永不過期mysql> FLUSH PRIVILEGES;     # 刷新mysql> use mysql       # 訪問mysql庫,設置可以遠程登錄mysql> update user set host = "%" where user = "root";      # 使root能在任何host訪問mysql> FLUSH PRIVILEGES;       # 刷新完畢后,可以使用Navicat遠程登錄mysql,我這里為了方便就執行了

3、安裝SonarQube

[root@localhost ~]# yum -y install unzip[root@localhost ~]# mkdir /home/software      # 本次將SonarQube放到了該目錄下,并安裝在此[root@localhost ~]# cd /home/software[root@localhost software]# unzip sonarqube-7.7.zip[root@localhost software]# cd sonarqube-7.7/bin/linux-x86-64/

這時候如果我們啟動SonarQube可以發現是無法啟動成功的,因為SonarQube里面包含了ElasticSearch插件,而Elasticsearch插件我們知道使用root用戶無法啟動的,所以SonarQube也不能使用root啟動,使用root啟動,該服務會馬上自動關掉。

[root@localhost ~]# useradd conan# 新建個用戶conan[root@localhost ~]# chown -R conan:conan /home/software/sonarqube-7.7[root@localhost ~]# su - conan# 切換為用戶conan[conan@localhost ~]$ cd /home/software/sonarqube-7.7/bin/linux-x86-64/[conan@localhost linux-x86-64]$ ./sonar.sh start # 使用conan啟動服務[root@localhost ~]# ss -ntulp | grep 9000		# 可以查到SonarQube已經啟動成功

這時候我們已經可以使用瀏覽器訪問SonarQube的web頁面了。
SonarQube地址:http://服務器ip:9000/在右上角有login選項,賬號密碼默認都是admin。

4、配置數據庫和SonarQube

在數據里面創建新庫sonar,創建用戶sonar。

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;mysql> CREATE USER "sonar" IDENTIFIED BY "sonar";mysql> GRANT ALL ON sonar.* TO "sonar"@"%" IDENTIFIED BY "123456";mysql> GRANT ALL ON sonar.* TO "sonar"@"localhost" IDENTIFIED BY "123456";mysql> FLUSH PRIVILEGES;

修改SonarQube的配置文件

[root@localhost ~]# vim /home/software/sonarqube-7.7/conf/sonar.properties  # 寫入以下8行sonar.jdbc.username=sonarsonar.jdbc.password=123456sonar.jdbc.url=jdbc:mysql://192.168.0.149:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=falsesonar.path.data=/home/software/sonarqube-7.7/data		sonar.path.temp=/home/software/sonarqube-7.7/tempsonar.web.host=192.168.0.149sonar.web.port=9000sonar.web.context=/sonar[root@localhost ~]# su - conan# 切換為用戶conan[conan@localhost ~]$ cd /home/software/sonarqube-7.7/bin/linux-x86-64/[conan@localhost linux-x86-64]$ ./sonar.sh restart # 使用conan重啟服務

這個時候我們訪問: http://服務器ip:9000/sonar 可以登錄頁面。

5、安裝中文語音包

使用默認的賬號密碼 admin 可以 login,然后我們搜索 chinese 可以看到中文包,但是安裝的話是安裝不了的,因為中文包也有版本,需要和 SonarQube 版本對應,而在這里的web頁面安裝的中文包的版本是最新的版本,寫著“Support SonarQube 9.5”,所以安裝的話和我們的 SonarQube 不匹配會報錯。(下圖是已經安裝過的對應版本的截圖)。

這就需要我們去網上找中文包:github.com/xuhuisheng/…在該頁面可以看到版本對應關系:即本次 7.7版本的SonarQube 對應的是 1.27 的中文安裝包。

所以我們下載去歷史提交找到對應的jar包:Releases · xuhuisheng/sonar-l10n-zh (github.com)本次是:sonar-l10n-zh-plugin-1.27.jar

然后將其放到SonarQube的插件目錄內:

[root@localhost ~]# mv sonar-l10n-zh-plugin-1.27.jar /home/software/sonarqube-7.7/extensions/plugins[root@localhost ~]# su - conan# 切換為用戶conan[conan@localhost ~]$ cd /home/software/sonarqube-7.7/bin/linux-x86-64/[conan@localhost linux-x86-64]$ ./sonar.sh restart # 使用conan重啟服務

最后我們訪問http://服務器ip:9000/sonar就可以看到中文頁面了。

到此這篇關于linux服務器安裝SonarQube代碼檢測工具的文章就介紹到這了,更多相關linux服務器安裝SonarQube內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Linux Apache
主站蜘蛛池模板: 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 四川成人高考_四川成考报名网 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 食安观察网| 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 北京律师咨询_知名专业北京律师事务所_免费法律咨询 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 钢托盘,钢制托盘,立库钢托盘,金属托盘制造商_南京飞天金属制品实业有限公司 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 楼承板-开口楼承板-闭口楼承板-无锡海逵 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 油冷式_微型_TDY电动滚筒_外装_外置式电动滚筒厂家-淄博秉泓机械有限公司 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 南京交通事故律师-专打交通事故的南京律师 |