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=true
2 安装插件
进入 配置 -> 应用市场
- 汉化插件
- 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: - analyze
3.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