西安青穗信息技術(shù)有限責(zé)任公司
主營產(chǎn)品: 安全軟件
sonar購買-sonar價(jià)格-sonar代理商-sonar試用-sonar中國代理商
價(jià)格
訂貨量(0)
面議
≥1
店鋪主推品 熱銷潛力款
ῡῤ῟῟ῥῧῥ῟ῧῢῤ
在線客服
倉庫設(shè)置
添加choerodon chart倉庫并同步
helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/ helm repo update
部署SonarQube
注意:本事例中 PostgreSql 數(shù)據(jù)庫搭建僅為快速體驗(yàn) SonarQube 而編寫,由于使用了NFS存儲(chǔ)故并不能保證其穩(wěn)定運(yùn)行或數(shù)據(jù)不丟失,您可以參照 PostgreSql 官網(wǎng)進(jìn)行搭建。
helm upgrade --install sonarqube c7n/sonarqube \ --set persistence.enabled=true \ --set persistence.storageClass=nfs-provisioner \ --set postgresql.persistence.storageClass=nfs-provisioner \ --set ingress.enabled=true \ --set ingress.'hosts[0]'=sonarqube.example.choerodon.io \ --set plugins.'install[0]'=https://file.choerodon.com.cn/choerodon-install/sonarqube/sonar-auth-choerodonoauth-plugin-1.5.3.RELEASE.jar \ --create-namespace \ --version 0.15.0-3 \ --namespace c7n-system
- 更多參數(shù)及含義請參考SonarQube Chart
安裝SoanrQube插件
- 此步驟用于之前已經(jīng)安裝過SonarQube,只需安裝插件的情況(如已經(jīng)執(zhí)行過上一步可跳過此步驟)
- 進(jìn)入SonarQube安裝目錄,下載https://file.choerodon.com.cn/choerodon-install/sonarqube/sonar-auth-choerodonoauth-plugin-1.5.3.RELEASE.jar 插件到\data\sonarqube\extensions\plugins目錄
- 重啟SoanrQube服務(wù)
驗(yàn)證部署
訪問設(shè)置的SonarQube域名出現(xiàn)以下界面即部署成功
配置 Choerodon 認(rèn)證
- 以下操作須將Choerodon搭建完成后再繼續(xù)進(jìn)行,若未搭建,請?zhí)^。
添加Choerodon Client
編寫參數(shù)配置文件
sonarqube-client.yaml
env: MYSQL_HOST: c7n-mysql.c7n-system.svc MYSQL_PASS: password MYSQL_PORT: 3306 MYSQL_USER: root SQL_SCRIPT: | INSERT INTO hzero_platform.oauth_client (name,organization_id,resource_ids,secret,scope,authorized_grant_types,web_server_redirect_uri,access_token_validity,refresh_token_validity,additional_information,auto_approve,object_version_number,created_by,creation_date,last_updated_by,last_update_date,enabled_flag,time_zone)VALUES('sonar',1,'default','sonarsonar','default','password,implicit,client_credentials,authorization_code,refresh_token','http://sonarqube.example.choerodon.io/oauth2/callback/choerodon',3600,3600,'{}','default',1,0,NOW(),0,NOW(),1,'GMT+8');
部署服務(wù)
helm upgrade --install sonarqube-client c7n/mysql-client \ -f sonarqube-client.yaml \ --version 0.1.0 \ --create-namespace \ --namespace c7n-system
配置用戶權(quán)限
默認(rèn)管理員用戶名:admin,密碼:admin
- 使用管理員用戶登錄 SoanrQube
配置默認(rèn)新建項(xiàng)目為
Private
, 進(jìn)入Administration
->Projects
->Management
更改默認(rèn)權(quán)限模板, 進(jìn)入
Administration
->Security
->Permission Templates
,去掉sonar-users
用戶組所有權(quán)限
配置認(rèn)證插件
- 使用管理員用戶登錄 SoanrQube
- 進(jìn)入
Administration
->Configuration
->choerodon
- 更改
Enabled
為啟用 更改
Choerodon url
為當(dāng)前使用的choerodon api getaway
地址;默認(rèn)地址為:http://api.example.choerodon.io
更改
sonar url
為當(dāng)前使用的SonarQube實(shí)際地址退出登錄,測試使用choerodon登錄,出現(xiàn)如下界面
Choerodon權(quán)限與SonarQube權(quán)限為lazy分配,對于用戶登錄后在SonarQube沒有權(quán)限的應(yīng)用服務(wù),從Choerodon代碼質(zhì)量詳情界面,跳轉(zhuǎn)登錄到SonarQube即可。
Choerodon應(yīng)用關(guān)聯(lián)SonarQube項(xiàng)目
部署devops-service時(shí)添加SonarQube環(huán)境變量
SERVICES_SONARQUBE_URL: http://sonarqube.example.choerodon.io SERVICES_SONARQUBE_USERNAME: admin SERVICES_SONARQUBE_PASSWORD: admin
Choerodon 應(yīng)用關(guān)聯(lián) SonarQube 針對 maven 和非 maven 項(xiàng)目有不同的配置。
- 如果是 maven 項(xiàng)目可以在 .gitlab-ci.yml 文件 build 階段添加
- >- mvn --batch-mode verify sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.analysis.serviceGroup=$GROUP_NAME -Dsonar.analysis.commitId=$CI_COMMIT_SHA -Dsonar.projectKey=${GROUP_NAME}:${PROJECT_NAME}
其他項(xiàng)目可以使用 sonar-scanner,在 .gitlab-ci.yml 文件 build 階段添加
請確保 cibase 的鏡像版本大于等于 0.10.0
- >- sonar-scanner -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.analysis.serviceGroup=$GROUP_NAME -Dsonar.analysis.commitId=$CI_COMMIT_SHA -Dsonar.projectKey=${GROUP_NAME}:${PROJECT_NAME} -Dsonar.sources=.
sonar.projectKey=${GROUP_NAME}:${PROJECT_NAME}不可更改;否則,在查看代碼質(zhì)量時(shí)將獲取不到對應(yīng)數(shù)據(jù)
sonar.sources 指定掃描代碼的路徑
GROUP_NAME和PROJECT_NAME是devops-service內(nèi)置的環(huán)境變量, GROUP_NAME=當(dāng)前項(xiàng)目所在組織編碼-當(dāng)前項(xiàng)目編碼,PROJECT_NAME=當(dāng)前應(yīng)用編碼
如果手動(dòng)創(chuàng)建SonarQube項(xiàng)目(不通過.gitlab-ci.yml創(chuàng)建),項(xiàng)目命名規(guī)則為:當(dāng)前項(xiàng)目所在組織編碼-當(dāng)前項(xiàng)目編碼:當(dāng)前應(yīng)用編碼
SonarQube 涵蓋27種編程語言,同時(shí)與您現(xiàn)有的軟件管道配對,可為開發(fā)人員提供清晰的補(bǔ)救指南,以幫助他們理解和解決問題,并為整個(gè)團(tuán)隊(duì)提供更好,更安全的軟件。SonarQube擁有170,000多個(gè)部署,可幫助小型開發(fā)團(tuán)隊(duì)和全球組織,為全球所有團(tuán)隊(duì)和公司提供并擁有并影響其代碼質(zhì)量和安全性的手段。
主要重點(diǎn)是制造具有影響力并受到用戶喜愛的優(yōu)質(zhì)產(chǎn)品。
早在2007年,當(dāng)?shù)谝恍写a創(chuàng)建時(shí),SonarQube(最初稱為Sonar)的創(chuàng)始人就夢想著有一天能夠?yàn)槊總€(gè)開發(fā)人員提供衡量其項(xiàng)目代碼質(zhì)量的能力。他們的座右銘是:“持續(xù)檢查必須成為持續(xù)集成的主流”。