時間:2022-07-17來源:www.outletmksalestore.com作者:電腦系統城
最近公司技術大佬同事告知,sonarlint可以用來檢測代碼是否有問題,并且能將其集成到Jenkins里面。本著好奇的心思來研究了一下,花了點時間將其在linux服務器上搭建完畢,網上可以查到的文章和教程資料并不少,但是很多寫的不是很完美,會很容易踩坑,所以這里把本次成功的步驟記錄下,并且把安裝前注意的點接下來介紹下。
這里需要注意,任何一個步驟錯,都可能會導致服務起不來:
鏈接: https://pan.baidu.com/s/1wpj-Q2ausDDc4XVAKJo9IQ?pwd=yxvt
提取碼: yxvt
1 2 3 4 5 6 7 8 9 10 11 12 |
[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_221 export PATH=$JAVA_HOME /bin :$PATH export 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) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[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.0 port=3306 user=mysql basedir= /usr/local/mysql datadir= /data/mysql socket= /tmp/mysql .sock log-error= /data/mysql/mysql .err pid- file = /data/mysql/mysql .pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_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,交互式輸入上面看到的初始密碼 |
1 2 3 4 5 6 |
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,我這里為了方便就執行了 |
1 2 3 4 5 |
[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啟動,該服務會馬上自動關掉。
1 2 3 4 5 6 |
[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。
在數據里面創建新庫sonar,創建用戶sonar。
1 2 3 4 5 |
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的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@localhost ~] # vim /home/software/sonarqube-7.7/conf/sonar.properties # 寫入以下8行 sonar.jdbc.username=sonar sonar.jdbc.password=123456 sonar.jdbc.url=jdbc:mysql: //192 .168.0.149:3306 /sonar ?useUnicode= true &characterEncoding=utf8&rewriteBatchedStatements= true &useConfigs=maxPerformance&useSSL= false sonar.path.data= /home/software/sonarqube-7 .7 /data sonar.path.temp= /home/software/sonarqube-7 .7 /temp sonar.web.host=192.168.0.149 sonar.web.port=9000 sonar.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 可以登錄頁面。
使用默認的賬號密碼 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的插件目錄內:
1 2 3 4 |
[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內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
2022-07-17
Tomcat安裝shell腳本的方法步驟2022-07-17
windows server2016安裝oracle 11g的圖文教程2022-07-17
Windows server 2003卸載和安裝IIS的圖文教程擁有正確安裝Windows server 2012 r2的方法可以節省我們很多的時間,下面這篇文章主要給大家介紹了關于Windows Server 2012 R2服務器安裝與配置的完整步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下...
2022-07-17
windows server 2008大多數端口都是默認關閉的,這里我們使用tomcat的8080端口為例,演示如何開啟一個端口 打開服務器管理器->配置->高級安全windows防火墻設置->入站規則...
2022-06-25