jenkins+gitlab+sonar自由风格项目配置

本文介绍了如何在GitLab中配置SonarQube进行代码分析,包括设置项目标识、版本、源代码目录、排除规则和指定Node.js执行器。还展示了如何根据SonarQube的质量门禁结果自动判断构建任务的成败。
摘要由CSDN通过智能技术生成

新建项目&基本配置

 

 

 gitlab侧配置

 

sonar.projectKey=test_sonar
sonar.projectName=test_sonar
sonar.projectVersion=1.0
sonar.sources=.
sonar.exclusions=src/layout/**
sonar.sourceEncoding=UTF-8
sonar.nodejs.executable=/app/nodejs/node-v16.20.2-linux-x64/bin/node


配置分析
sonar.projectKey=test_sonar: 这是项目在 SonarQube 或 SonarCloud 中的唯一标识符。它用于区分不同的项目,并且在配置和报告中都会用到。

sonar.projectName=test_sonar: 项目的名称,用于在 SonarQube 或 SonarCloud 中显示。

sonar.projectVersion=1.0: 项目的版本号,用于在 SonarQube 或 SonarCloud 中标识不同的版本。

sonar.sources=.: 指定要分析的源代码目录。这里使用.表示当前目录,也就是指分析当前项目的所有源代码文件。

sonar.exclusions=src/layout/**: 指定需要排除的文件或目录。在这个例子中,src/layout/ 目录下的所有文件和子目录都会被排除在代码分析之外。

sonar.sourceEncoding=UTF-8: 指定源代码的编码格式为 UTF-8。这确保了分析器能够正确地解析源代码中的字符。

sonar.nodejs.executable=/app/nodejs/node-v16.20.2-linux-x64/bin/node: 如果项目是基于 Node.js 的,这个配置指定了 Node.js 可执行文件的路径。这是为了在代码分析中确保使用指定版本的 Node.js 运行分析器。

 根据质量门禁结果判断任务构建结果(后续可以根据父子job实现后续的操作)

# 获取SonarQube质量门禁结果,sonarqueb登录所用的name与password(权限足够)、url根据实际填写
sonarqube_status=$(curl -s -u name:password "http://172.xxxx:9000/api/qualitygates/project_status?projectKey=test_sonar" | jq -r '.projectStatus.status')

# 如果质量门禁结果不通过,则执行下一步操作
if [ "$sonarqube_status" != "OK" ]; then
    echo "质量门禁结果不通过"
    exit 1  # 退出并返回构建失败状态
fi
# 如果质量门禁结果通过,则输出成功信息
echo "质量门禁结果通过"

 进行构建

可以手动,或模拟代码提交操作

查看控制台输出

如报错-bash: jq:未找到命令

sudo yum install jq

安装即可

扫描结果查看 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值