作者:阿莱沃_132 | 来源:互联网 | 2023-07-25 13:36
安装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配置:
git路径:
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系统配置>>系统设置中配置如下:
6)jenkins中配置sonarscanner
在全局工具配置中配置如下:
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的用户名和密码。