📅  最后修改于: 2023-12-03 15:37:20.402000             🧑  作者: Mango
在 GitLab 中创建一个 SonarQube 新项目,需要完成一系列的操作,包括创建新项目、安装 SonarQube 插件、配置 SonarQube 配置文件、编写 build shell/batch 脚本等。此篇文章将讲解如何在 GitLab 中创建后的 SonarQube 新项目 - Shell/Bash,重点涵盖了在 shell/batch 脚本中如何进行 SonarQube 静态代码扫描及代码质量分析等。
首先,在 GitLab 中创建一个新项目,确保项目中有要进行 SonarQube 分析的代码仓库。你可以使用 Git 命令将项目代码 push 到你的新项目中,或者直接在 GitLab 的仓库中进行编辑和上传代码。
在 GitLab 的项目管理页面,进入 Settings -> CI/CD -> Secret variables。在这个页面中添加一些必要的环境变量,如下:
variables:
SONAR_URL: "http://sonarqube.example.com"
SONAR_TOKEN: "abcdef0123456789"
GITLAB_TOKEN: "abcdef0123456789"
其中 SONAR_URL
为你的 SonarQube 服务器地址, SONAR_TOKEN
为你的 SonarQube 访问令牌, GITLAB_TOKEN
为你的 GitLab 访问令牌。
在 .gitlab-ci.yml 文件中添加如下的 Jobs 代码段:
sonar-run:
stage: test
image: sonarsource/sonar-scanner-cli:latest
script:
- sonar-scanner \
-Dsonar.host.url=$SONAR_URL \
-Dsonar.login=$SONAR_TOKEN
这个 Jobs 将在项目中执行静态代码扫描,检测代码质量,并将报告发送到 SonarQube 服务器。
在 sonar-project.properties
文件中添加以下代码:
sonar.projectKey=$CI_PROJECT_NAME
sonar.projectName=$CI_PROJECT_NAME
sonar.projectVersion=1.0
sonar.sources=.
sonar.language=java
sonar.sourceEncoding=UTF-8
这些配置将帮助 SonarQube 获知你的项目信息,并确保扫描的代码都被检查完成。
在项目根目录下创建一个 build.sh
或 build.bat
脚本,根据你的项目语言编写代码。下面是一个使用 Maven 构建的例子:
#!/usr/bin/env bash
set -euo pipefail
# install maven
type -p mvn &> /dev/null ||
sudo apt-get update &&
sudo apt-get install -y maven
# build project
mvn clean package
# run sonar-scanner
sonar-scanner \
-Dsonar.host.url=$SONAR_URL \
-Dsonar.login=$SONAR_TOKEN
这个例子将使用 Maven 构建项目。如果你的项目使用其他构建工具,你需要写对应的脚本语句。
最后,在 GitLab 的项目管理页面中,单击 Settings -> CI/CD -> Pipelines 进入 Pipeline 管理页面。在这个页面中,你可以看到 Pipeline 的运行状态以及 SonarQube 静态代码扫描的结果。你也可以在 SonarQube 服务器上查看更详细的扫描结果和代码质量评分。
以上就是在 GitLab 中创建后的 SonarQube 新项目 - Shell/Bash 的详细操作步骤,这些操作将帮助你进行更有效和准确的代码分析和评估。如果你还没有尝试过代码质量评估,那么现在就开始吧!