Jenkins (五) - Docker SonarQube

2024-04-07 06:12
文章标签 docker jenkins sonarqube

本文主要是介绍Jenkins (五) - Docker SonarQube,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Jenkins (五) - Docker SonarQube

Jenkins 集成 SonarQube,编译项目并通过SonarQube分析项目

前提

基于已有的环境 Jenkins (四) - Docker SonarQube
基于 Jenkins (三) - 拉取编译 上的mockito-demo工程

配置工程

Administration -> Projects -> Management
在这里插入图片描述
Create Project
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置用户

在这里插入图片描述
Create User
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
Group sonar-users 所有的认证用户默认都是属于此组。
在这里插入图片描述

设置权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分析工程

通过设置,生成 maven 远程调用脚本,为后续 Jenkins集成SonarQube编译提供便利

在这里插入图片描述
点击项目 mockito-demo
在这里插入图片描述
点击 Local
在这里插入图片描述

在这里插入图片描述
sqp_8d4181eca2705f6724922c760ffacecdb2327423

在这里插入图片描述
在这里插入图片描述

由于mockito-demo项目是maven工程而非 Gradle工程,Copy 生成的maven脚本

mvn clean verify sonar:sonar \-Dsonar.projectKey=mockito-demo \-Dsonar.projectName='mockito-demo' \-Dsonar.host.url=http://192.168.56.102:9000 \-Dsonar.token=sqp_8d4181eca2705f6724922c760ffacecdb2327423

配置Jenkins pipeline

将以上mvn clean verify sonar:sonar ... 配置入pipeline中

node {def mvnHomestage('Preparation') { // for display purposesecho 'Checkout'checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'fernado', url: 'https://github.com/fernado/mockito-demo.git']])mvnHome = tool 'maven396'}stage('Analyze') {echo 'Sonaqube'withEnv(["MVN_HOME=$mvnHome"]) {if (isUnix()) {sh '"$MVN_HOME/bin/mvn" clean verify sonar:sonar -Dsonar.projectKey=mockito-demo -Dsonar.projectName=mockito-demo -Dsonar.host.url=http://192.168.56.102:9000 -Dsonar.token=sqp_8d4181eca2705f6724922c760ffacecdb2327423'} else {bat(/"%MVN_HOME%\bin\mvn" -Dmaven.test.failure.ignore clean package/)}}}stage('Build') {echo 'Build'// Run the maven buildwithEnv(["MVN_HOME=$mvnHome"]) {if (isUnix()) {sh '"$MVN_HOME/bin/mvn" -Dmaven.test.failure.ignore clean package'} else {bat(/"%MVN_HOME%\bin\mvn" -Dmaven.test.failure.ignore clean package/)}}}stage('Test Results') {echo 'Test Results'sh 'make check || true' junit '**/target/surefire-reports/TEST-*.xml'archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true}stage('Deploy') {echo 'Deploy'// when {//   expression {//     currentBuild.result == null || currentBuild.result == 'SUCCESS' //   }// }// steps {//     sh 'make publish'// }}
}

Build Now

在这里插入图片描述

查看SonarQube生成项目结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

用户 Tokens Create

Administrator -> Security -> 用户 -> sonar_user -> Tokens
在这里插入图片描述
在这里插入图片描述

用户 Tokens Revoke

与 Tokens Create 类似,进入Administrator -> Security -> 用户 -> Revoke

在这里插入图片描述

这篇关于Jenkins (五) - Docker SonarQube的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881828

相关文章

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

debian12安装docker的实现步骤

《debian12安装docker的实现步骤》本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录步骤 1:更新你的系统步骤 2:安装依赖项步骤 3:添加 docker 的官方 GPG 密钥步骤

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --