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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文