gitlab + sonarqube 集成代码审检平台
gitlab + sonarqube 集成代码审检平台
1 启动 sonarqube
编写 docker-compose.yml 文件
version: '3.3'
services:
db:
image: mysql:5.7.22
restart: always
# ports:
# - 3306:3306
volumes:
- ./mysql/db:/var/lib/mysql
- LANG=C.UTF-8
environment:
- MYSQL_ROOT_PASSWORD=sonar
- MYSQL_DATABASE=sonar
- MYSQL_USER=sonar
- MYSQL_PASSWORD=sonar
command: mysqld --skip-ssl --character_set_server=utf8mb4 --sql_mode=""
sonar:
restart: always
image: sonarqube:alpine
depends_on:
- db
volumes:
- ./sonar/data:/opt/sonarqube/data
- ./sonar/extensions:/opt/sonarqube/extensions
ports:
- 9000:9000
- 9092:9092
environment:
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
- SONARQUBE_JDBC_URL=jdbc:mysql://db:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true2 安装插件
进入 配置 -> 应用市场
- 汉化插件

- GitLab 插件

- GitLab 登录插件

3 配置 Gitlab 集成
3.1 创建 gitlab 同步账号、设置访问令牌

3.2 配置 sonar 插件
- 配置 gitlab 地址、访问令牌

- 开启每次提交建议

- 显示所有建议

3.3 安装 sonar-scanner

下载后放到 /usr/local/bin/sonar-scanner
记得给可执行权限 sudo chmod +x /usr/local/bin/sonar-scanner
3.4 编写 sonar-project.properties 配置文件
sonar.host.url=http://sonar.xxx.xxx sonar.login=b45c1cfb006d1d5c359dxxxxxxx867dfe0f5e91 sonar.sourceEncoding=UTF-8 sonar.modules=javascript-module # sonar.modules=java-module,javascript-module,html-module,css-module # sonar.sources=. # sonar.tests=test # sonar.language=js # sonar.exclusions=test # # Java module # java-module.sonar.projectName=java-module # java-module.sonar.language=java # # .表示projectBaseDir指定的目录 # java-module.sonar.sources=. # java-module.sonar.projectBaseDir=src # sonar.binaries=classes # JavaScript module javascript-module.sonar.projectName=javascript-module javascript-module.sonar.language=js javascript-module.sonar.sources=. javascript-module.sonar.projectBaseDir=app # Html module # html-module.sonar.projectName=html-module # html-module.sonar.language=web # html-module.sonar.sources=. # html-module.sonar.projectBaseDir=web # CSS module # css-module.sonar.projectName=css-module # css-module.sonar.language=css # css-module.sonar.sources=. # css-module.sonar.projectBaseDir=web
3.5 编写 .gitlab-ci.yml
stages:
- analyze
sonar_analyze:
stage: analyze
script:
- ci/sonar_analyze.sh
tags:
- analyze3.6 编写 sonar_analyze.sh
#!/bin/bash
sonar-scanner \
-Dsonar.analysis.mode=preview \
-Dsonar.projectKey=gitlab:$CI_COMMIT_REF_NAME:$CI_PROJECT_NAME \
-Dsonar.projectName=gitlab:$CI_COMMIT_REF_NAME:$CI_PROJECT_NAME \
-Dsonar.projectVersion=1.0.$CI_PIPELINE_ID \
-Dsonar.issuesReport.html.enable=true \
-Dsonar.gitlab.project_id=$CI_PROJECT_ID \
-Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA \
-Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
if [ $? -eq 0 ]; then
echo "sonarqube code-publish over."
fi参考
- Gitlab Ci With Sonarqube
- SonarQube 之 gitlab-plugin 配合 gitlab-ci 完成每次 commit 代码检测
- Continuous Code Quality Analysis with SonarQube
- CI variables
- SonarJS
- Sonar Properties Parameters
- sonar-l10n-zh
- sonar-auth-gitlab-plugin
- sonar-gitlab-plugin
© 会煮咖啡的猫咪
相关推荐
sakurayz 2020-06-16
yuanyuan 2020-06-14
yuanyuan 2020-06-14
hevenue 2020-06-04
yieryi 2020-06-02
yuanyuan 2020-05-17
huaqiangli 2020-05-14
yangliuhbhd 2020-05-11
一片荷叶 2020-05-09
静水楼台 2020-05-09
huaqiangli 2020-04-27
yieryi 2020-04-10
郭宇 2020-02-14
xiaodaiwang 2020-02-02
xiaodaiwang 2020-01-09
leonranri 2019-12-16
xiaodaiwang 2019-11-02
chwnpp 2018-01-05
冯冯领队 2019-10-27
sakurayz 2019-10-24
arnodzl 2019-07-31
sakurayz 2019-04-05
BigBirds 2019-09-12
huaqiangli 2019-08-05
wesaylove 2017-06-19
静水楼台 2019-07-24
mydownloador 2019-07-24
BORISHOU 2019-07-23
yuanyuan 2016-11-25
sakurayz 2015-07-25
骑苍蝇过大海 2015-06-19
BigBirds 2019-06-28