热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux环境下搭建jenkins+sonarqube+sonarscanner,一键完成构建扫描

安装jenkinsjenkins插件下载地址:http:updates.jenkins-ci.orgdownloadpluginssonarscanner下载地址:http

安装jenkins
jenkins插件下载地址:
http://updates.jenkins-ci.org/download/plugins/

sonarscanner下载地址:
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

详解一、基本配置:
1、安装:Jenkins 安装部署方式(以下4种方式后续都会写到):
1)直接下载war包jenkins.war部署到servlet容器中,如tomcat,下载地址https://jenkins.io/download
2)下载war包使用命令直接运行war包,java -jar jenkins.war;
3)windows下载zip包解压运行jenkins.exe即可安装成windows服务;
4)下载rpm包
https://pkg.jenkins.io/redhat-stable/
在linux下安装并配置服务
sudo rpm -ih jenkins-2.73.2-1.1.noarch.rpm

自动安装完成之后:
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log Jenkins日志文件

2、启动:启动jenkins:sudo service jenkins start

service jenkins start/stop/restart/status
启动/停止/重启/查看状态

3、访问:访问jenkins ip+端口( 默认8080)
第一次登录Jenkins会要求解锁,打开红色标记中的路径,取出password,填入上图,点击continue,等等选择continue继续设置管理员
4.配置全局变量等:
maven配置:
maven

git路径:
git

JDK路径:
jdk

安装sonarscanner:
1、安装sonar插件:SonarQube Scanner for Jenkins
管理插件有三种方法
一:
下载插件

中直接选中安装。
二:是进行离线下载安装,安装步骤如下:
1)在离线插件下载地址中下载对应hpi文件;
2)进入jenkins插件管理-高级-上传插件中选中对应hpi进行上传
离线下载

3)显示成功则表示插件安装成功,如果失败就查看详细,看是前置的什么内容缺失,下载对应hpi后再进行安装。
三:将之前已安装使用的jenkins插件导出进行上传(好像不区分windows和linux)
一般路径为\jenkins\plugins
linux上传的路径为/var/lib/jenkins/ 默认的JENKINS_HOME目录
2、安装SonarQube
3、安装sonar-scanner
1)下载对应的zip包
2)解压
下载后放在/usr/local目录下,并解压

unzip sonar-scanner-cli-3.2.0.1227-linux.zip

3)配置环境变量
和上面一样修改/etc/profile文件(修改为你的安装路径)


#set sonarqube
export SONAR_HOME=/usr/local/sonarqube-7.4
export SONAR_SCANNER_HOME=/usr/local/sonar-scanner-3.2.0.1227-linux
PATH=$PATH:$SONAR_HOME/bin:$SONAR_SCANNER_HOME/bin

修改完记得 source /etc/profile
4)测试

进入/usr/local/sonar-scanner-3.2.0.1227-linux/bin执行:

./sonar-scanner -h

如果出现下文就说明安装好了:

[root@iZbp1bb2egi7w0ueys548qZ bin]# ./sonar-scanner -h
INFO:
INFO: usage: sonar-scanner [options]
INFO:
INFO: Options:
INFO: -D,--define Define property
INFO: -h,--help Display help information
INFO: -v,--version Display version information
INFO: -X,--debug Produce execution debug output

5)jenkins中配置sonar

SonarScanner和SonarQube的关系类似于客户端与服务端,由于SonarScanner工具需要把扫描的代码及结果发送到SonarQube服务器上,所以需要配置SonarQube服务地址。
在Jenkins系统配置>>系统设置中配置如下:
jenkins配置

6)jenkins中配置sonarscanner
在全局工具配置中配置如下:
sonar-scanner配置

7)项目配置:
描述

源码管理

凭证

仓库地址采用的方式是http方式
正确输入信息后,点击添加
添加构建后步骤
构建步骤

配置文件如下:

#projectKey项目的唯一标识,不能重复。
sonar.projectKey=test
#projectName值不能是中文,否则web页面部分是乱码
sonar.projectName=test
#版本定义
sonar.projectVersion=1.0
#扫描文件类型为java类型
#sonar.language=java
#扫描类文件路径地址
sonar.sources=./
#设置扫描路径所包含的文件
sonar.java.binaries=./
#设置sonar字符集编码格式UTF-8
sonar.sourceEncoding=UTF-8
#sonar排除文件类型
#sonar.exclusiOns=node_modules/**/*,.idea/**/*,**/*.xml
#sonar包含文件类型
sonar.inclusiOns=**/*.java
#加入单元测试插件jacoco
#sonar.java.coveragePlugin=jacoco
#服务器sonar前台登录用户名
sonar.login=admin
#服务器sonar前台登录密码
sonar.password=admin
#jdk版本
sonar.java.source=1.8

二、问题集锦:1、安装jenkins后,系统会自动生成一个jenkins的用户和jenkins的组,所有脚本该用户都要有权限。
如做免密:
cd ~/.ssh      
ssh-keygen -t rsa (四个回车)
#执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)       
ssh-copy-id localhost
2、配置邮件通知去jenkins插件中心下载Email Extension Plugin插件,在系统管理→管理插件→高级里面上传插件并安装。具体设置见附2。
3、配置java版本为1.8如果系统装有多个版本的java,需要制定适配版本。vi /etc/init.d/jenkins #然后修改如下参数

candidates=''
#/etc/alternatives/java
#/usr/lib/jvm/java-1.8.0/bin/java
#/usr/lib/jvm/jre-1.8.0/bin/java
#/usr/lib/jvm/java-1.7.0/bin/java
#/usr/lib/jvm/jre-1.7.0/bin/java
#/usr/lib/jvm/java-11.0/bin/java
#/usr/lib/jvm/jre-11.0/bin/java
#/usr/lib/jvm/java-11-openjdk-amd64
#/usr/bin/java
/usr/java/jdk1.8.0_192/bin/java
/usr/java/jdk1.8.0_192/jre/bin/java

4、第一次登陆然后没有修改管理员密码或者没有设置管理员,需要通过以下方法来重置密码
(1)密码为更改的情况下可以去:
cat /var/lib/jenkins/secrets/initialAdminPassword 同第一次登陆
(2)密码更改忘记的情况,删除Jenkins目录下config.xml文件中下面代码,并保存文件。个人觉得改第一个为false,也可以。

true
true

true false

5、使用Dashboard View插件来分类工程。新建一个视图,并按如下选择,点击确定:
在这里插入图片描述

往下拉,选择如下:
在这里插入图片描述

6、权限管理:首先安装:Role-based Authorization Strategy插件,然后在系统管理里面选择Manage and Assign Roles。
在这里插入图片描述

第一步管理角色:Manage Roles,Global roles配置全局属性,Project roles配置项目属性,其中Pattern来配置可见项目:developer.* ,这里的developer是项目模式匹配前缀
在这里插入图片描述

第二步分配Assign Roles
在这里插入图片描述

图示的权限配置说明:管理员:具有最高权限,负责系统及用户权限配置;
发布人员(实名账号,需要注册):具有浏览视图和工程的权限,同时具有执行工程权限;
开发人员(实名账号,需要注册):具有浏览特定视图和特定工程的权限,同时具有特定工程的执行权限;
游客(guest公共账号):具有浏览所有视图和所有工程的权限;
7、中文插件请按装:Locale plugin
8、报org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Authentication required for '此问题是
sonar-runner发现了.svn文件,于是启动了自己的SVN插件,去访问SVN,但是又没有对应SVN路径的授权所以就报错。
解决方法:

1.打开sonarqube的控制台,使用admin登录后 ,在配置->SCM->菜单中,将Disabled the SCM Sensor设置为true,    
2.在svn页面,设置svn的用户名和密码。

在这里插入图片描述


推荐阅读
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
author-avatar
阿莱沃_132
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有