成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何將SonarQube代碼質量分析工具安裝到Ubuntu Server 20.04上?

譯文
開發 前端
是否在尋找一種分析代碼以查找問題和漏洞的方法?如果是這樣,SonarQube正是您所需要的。本文介紹了如何安裝該工具。

【51CTO.com快譯】如果您是云原生開發人員(或任何其他開發人員),可能需要一款工具來分析代碼,幫助查找安全問題、缺陷、漏洞、異常和一般問題。如果您只從事一個小項目,可以通過老式的手動方法來解決。如果您經常為CI/CD之類的項目編寫代碼,工作量決定了您可能無法手動檢查。這時如何是好?

[[354313]]

您總是可以安裝SonarQube之類的工具。這個基于Web的軟件擅長使開發人員能夠編寫更干凈更安全的代碼。如果您恰好擁有本地Linux服務器或者AWS、谷歌云或Azure之類的云帳戶,可以免費部署SonarQube社區版。該版本有以下功能:

  • 為15種廣泛使用的語言支持靜態代碼分析
  • 缺陷和漏洞檢測
  • 代碼中的安全熱點審查
  • 代碼異常跟蹤
  • 技術債務解決
  • 代碼質量度量指標和歷史記錄
  • CI/CD集成
  • 可擴展,有50多個社區插件
  • 您還可以從版本矩陣中查看SonarQube收費版本的功能

下面介紹在Ubuntu Server 20.04上安裝并運行SonarQube社區版的過程。

您需要什么?

  • Ubuntu Server 20.04的運行實例
  • 擁有sudo特權的用戶

如何修改內核系統限制?

我們要做的頭件事是對幾個內核系統限制進行一番修改。使用以下命令打開sysctl.conf文件進行編輯:

  1. sudo nano /etc/sysctl.conf 

將以下幾行添加到該文件的末尾:

  1. vm.max_map_count=262144  
  2. fs.file-max=65536  
  3. ulimit -n 65536  
  4. ulimit -u 4096 

保存并關閉文件。

下一步,我們將編輯limits.conf。用以下命令打開該文件:

  1. sudo nano /etc/security/limits.conf 

在該文件末尾,添加以下內容:

  1. sonarqube - nofile 65536  
  2. sonarqube - nproc 4096 

保存并關閉文件。

重啟系統,以便變更生效。

如何安裝OpenJDK 11?

我們現在將安裝OpenJDK依賴項。用以下命令來安裝:

sudo apt-get install openjdk-11-jdk -y

如何安裝和配置PostgreSQL?

針對SonarQube的數據庫部分,我們將使用PostgreSQL(已棄用了支持MySQL的功能)。由于標準存儲庫中沒有PostgreSQL,我們必須添加它。

用以下命令下載并安裝GPG密鑰:

  1. wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add - 

用以下命令創建新的apt存儲庫:

  1. sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' 

用以下命令安裝PostgreSQL:

  1. sudo apt install postgresql postgresql-contrib -y 

用以下命令啟動并啟用數據庫服務:

  1. sudo systemctl enable postgresql  
  2. sudo systemctl start postgresql 

用以下命令設置PostgreSQL密碼:

  1. sudo passwd postgres 

會提示您輸入并核實數據庫管理員用戶的新密碼。

用以下命令切換到postgres用戶:

  1. su - postgres 

用以下命令為SonarQube數據庫創建新用戶:

  1. createuser sonar 

用以下命令登錄到PostgreSQL控制臺:

  1. psql 

用以下命令為新的sonar用戶設置密碼:

  1. ALTER USER sonar WITH ENCRYPTED PASSWORD 'password'

密碼是不重復的強密碼。

用以下命令創建新的sonarqube數據庫:

  1. CREATE DATABASE sonarqube OWNER sonar; 

用以下命令為數據庫授予必要的權限:

  1. GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar; 

用以下命令退出PostgreSQL控制臺:

  1. \q 

用以下命令退出postgres用戶:

  1. exit 

用以下命令啟用PostgreSQL服務:

  1. sudo systemctl enable postgresql 

如何下載并解壓SonarQube?

處理好數據庫后,我們現在可以下載并解壓SonarQube。最新版是8.5.1.3814。您應該檢查下載鏈接(https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.5.1.38104.zip),確保下載的是最新版。

想下載SonarQube,執行該命令:

  1. wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.5.1.38104.zip 

用以下命令解壓該文件:

  1. unzip sonarqube*.zip 

如果您發現沒有unzip命令,用以下命令安裝它:

  1. sudo apt-get install zip -y 

用以下命令移動并重命名剛創建的目錄:

  1. sudo mv sonarqube-8.5.1.38104 /opt/sonarqube 

如果您下載的版本不是8.5.1.38104,確保用上述命令更改該版本號。

如何創建新的SonarQube組和用戶?

現在我們需要為SonarQube創建新的組和用戶。用以下命令創建一個組:

  1. sudo groupadd sonar 

下一步,用以下命令創建用戶,并添加到組(并將其主目錄設成/opt/sonarqube目錄):

  1. sudo useradd -c "SonarQube - User" -d /opt/sonarqube/ -g sonar sonar 

用以下命令更改/opt/sonarqube目錄的所有權:

  1. sudo chown -R sonar:sonar /opt/sonarqube/ 

如何配置SonarQube?

下一步是配置SonarQube。用以下命令打開配置文件來編輯:

  1. sudo nano /opt/sonarqube/conf/sonar.properties 

在該文件中尋找下列行:

  1. #sonar.jdbc.username=  
  2. #sonar.jdbc.password 
  3. #sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube  
  4. #sonar.search.javaOpts=-Xmx512m -Xms512m -XX:+HeapDumpOnOutOf 

您需要從上面四行刪除#字符,并將第一行改成:

  1. sonar.jdbc.username=sonar 

更改密碼行,加入為sonar PostgreSQL用戶創建的密碼。

還應該編輯下列行,確保它們體現了您在下面看到的內容:

  1. sonar.jdbc.username=sonar 
  2. sonar.jdbc.password=PASSWORD 
  3. sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube  
  4. sonar.web.host=0.0.0.0  
  5. sonar.web.port=9000  
  6. sonar.web.javaAdditionalOpts=-server  
  7. sonar.search.javaOpts=-Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError  
  8. sonar.log.level=INFO  
  9. sonar.path.logs=logs 

其中PASSWORD是您為sonar PostgreSQL用戶設置的密碼。

保存并關閉文件。

如何創建systemd文件并啟動服務?

現在不妨創建systemd文件,以便可以控制SonarQube服務。用以下命令創建文件:

  1. sudo nano /etc/systemd/system/sonarqube.service 

在該文件中,粘貼以下內容:

  1. [Unit]  
  2. Description=SonarQube service  
  3. After=syslog.target network.target  
  4. [Service]  
  5. Type=forking 
  6. ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start  
  7. ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop  
  8. User=sonar  
  9. Group=sonar  
  10. Restart=always  
  11. LimitNOFILE=65536  
  12. LimitNPROC=4096  
  13. [Install]  
  14. WantedBy=multi-user.target 

保存并關閉文件。

用以下命令啟用并啟動服務:

  1. systemctl enable sonarqube 
  2. systemctl start sonarqube 

如何安裝和配置NGINX?

我們將使用NGINX作為SonarQube的反向代理。想安裝NGINX,執行該命令:

  1. sudo apt-get install nginx -y 

用以下命令啟動并啟用NGINX服務:

  1. sudo systemctl enable nginx  
  2. sudo systemctl start nginx 

用以下命令創建新的NGINX配置文件:

  1. sudo nano /etc/nginx/sites-enabled/sonarqube.conf 

在該文件中,粘貼以下內容:

  1. server{ 
  2.     listen      80; 
  3.    server_name sonarqube.da.com; 
  4.     access_log  /var/log/nginx/sonar.access.log; 
  5.     error_log   /var/log/nginx/sonar.error.log; 
  6.     proxy_buffers 16 64k; 
  7.     proxy_buffer_size 128k; 
  8.     location / { 
  9.         proxy_pass  http://127.0.0.1:9000; 
  10.         proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; 
  11.         proxy_redirect off
  12.         proxy_set_header    Host            $host; 
  13.         proxy_set_header    X-Real-IP       $remote_addr; 
  14.         proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for; 
  15.         proxy_set_header    X-Forwarded-Proto http; 
  16.     } 

保存并關閉文件。

用以下命令重啟NGINX:

  1. sudo systemctl restart nginx 

如何訪問SonarQube?

SonarQube現已安裝,打開瀏覽器,指向http://SERVER_IP:9000(SERVER_IP是您服務器的IP地址)。您會看到歡迎頁面(圖A)。

圖A:SonarQube歡迎頁面還充當儀表板

點擊“登錄”,使用登錄信息admin/admin。一旦登錄進去,您會看到SonarQube主頁面,您可以在這里開始上傳有待分析的代碼(圖B)。

圖B:SonarQube主頁面已準備就緒

恭喜您有了一款功能強大的工具,可幫助編寫沒有問題的干凈代碼。經常且明智地使用它。

原文標題:How to install the SonarQube code quality analyzer on Ubuntu Server 20.04,作者:Jack Wallen

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2016-10-26 09:29:12

MongoDBLinux

2019-04-08 09:00:00

CentOS 7ElasticsearLinux

2016-10-24 09:40:53

CentOS高級入侵檢測

2022-05-29 17:37:39

LinuxUbuntuPHP

2021-02-08 23:51:31

開源工具代碼

2020-08-14 07:00:00

RudderIT工具

2022-03-17 14:56:26

KubernetesMinikubeLinux

2023-04-20 08:01:13

2011-08-31 18:08:26

win7Win7PE

2022-09-01 08:37:50

Ubuntu發行版

2020-10-17 13:04:35

UbuntuDeepin桌面環境

2020-04-30 08:00:00

WSLWindows 10Linux

2022-02-17 09:41:04

bitnamidockersonarqube

2014-08-08 10:37:28

PuppetCentOS

2020-01-18 08:00:00

Microsoft TLinux

2013-03-28 10:25:49

2011-09-06 15:38:50

UbuntuUbuntu Serv

2016-11-15 17:16:42

網絡安全技術周刊

2020-07-14 20:25:46

UbuntuLinux桌面應用

2021-07-20 08:00:00

集群Elasticsear工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特黄特黄a级毛片免费专区 av网站免费在线观看 | 色婷婷综合久久久中文字幕 | 国产乱码精品1区2区3区 | 福利久久 | 国产一区91精品张津瑜 | 亚洲一区二区三区免费观看 | 午夜影院官网 | 夜夜摸天天操 | 91pao对白在线播放 | 激情久久网 | 亚洲欧美在线一区 | av一区二区三区四区 | 伊人精品在线视频 | 成人在线精品视频 | 精品国产乱码久久久久久1区2区 | 黄免费观看视频 | 日本免费一区二区三区四区 | 黄网站在线播放 | 青青操av | 国产一区不卡 | 中文字幕第三页 | 午夜一区二区三区在线观看 | 亚洲综合无码一区二区 | 久久精品一区二区 | 国产精品嫩草影院精东 | 日韩午夜在线观看 | 国产精品国产三级国产aⅴ无密码 | 日韩亚洲欧美综合 | 免费黄色大片 | 福利av在线 | 亚洲第1页| 国产精品久久久久一区二区三区 | 国产成人精品免费视频大全最热 | 日韩av视屏 | 99久久国产综合精品麻豆 | 国产日韩电影 | 亚洲一区久久 | 精品久久久久一区二区国产 | 九九热这里只有精品在线观看 | 久久久国产一区二区三区四区小说 | 欧美日本在线观看 |