Jenkins+svn+maven+sonarqube自动化部署总结

1、Jenkins安装与配置

1)Jenkins下载

	1)部署Jenkins 需要提前安装JDK
	
	2)通过 weget http://mirrors.jenkins.io/war-stable/2.289.1/jenkins.war 下载jenkins war包
直接丢到tomcat webapps下 

	3)修改tomcat下/conf/server.xml
增加URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" 72 connectionTimeout="20000" 73 redirectPort="8443" URIEncoding="UTF-8"/>

	4)通过http://地址:8080/jenkins 访问 Jenkins 主页,在启动之后Linux命令窗口 会有初始密码【要记住保存下来】

2)Jenkins配置JDK与Maven等

要下载的插件
	Subversion Plugin-in 整合svn的插件
	Deploy to container  整合发布war包的
	SonarQube Scanner
	1) 查看密码【复制密码保存到txt中,之后要用到】
		cat /root/.jenkins/secrets/initialAdminPassword
	2) 密码登录
	3) 插件安装
		可以选择插件安装也可以不安装
	4) 登录
		可以创建用户也可以右下角选择admin用户登录
	5) 全局安全配置
		勾选 允许用户注册(这样即使忘记密码也可以注册)
	6) 全局工具配置
		配置maven的settings.xml以及仓库
		在Defalut settings provider 下选择 settings file in filesystem
		在Defalut global settings provider 下选择 Global settings file on filesystem
		在两个File path 填写settings.xml的文件路径以及该文件。($MAVEN_HOME)
	7) 设置JDK
		起个别名(随便起)
		取消自动安装,指定JAVA_HOME的路径 ($JAVA_HOME)
	8)设置Maven
		起个别名
		取消自动安装,指定MAVEN_HOME的路径

2、svn与Jenkins集成

在svn 目录上
1)在conf里 编辑 svnserve.conf
[解除注释及修改]
anon-access = none 
auth-access = write
password-db = passwd
authz-db = authz
2) passwd 创建
suman =123123
3) authz
subman = rw 
* = 
Jenkins 新建任务 
1) 取名字
2) 源码管理
	subversion下
	Repository URL 下填写svn项目目录+工程目录+@HEAD
	Credentials add Jenkins 填写用户名 密码
3)配置
	构建下 增加构建步骤
	Invoke top-level Maven targets
	Maven vesion 选择之前创建的maven 别名
	Goals 填写 【clean install】 保存
4)点击立即构建
	尝试构建是否成功
5) 构建触发器(开始配置 提交代码自动打包)
	触发远程构建
	http://192.168.70.131:8080/jenkins/job/项目名字/build?token=XXX_TOKEN
	
	svn项目仓库 hooks目录 编辑 post-commit.tml文件
	curl -X post -v -u admin:2f6bff33bda14baba83ba1c002045f05 http://192.168.70.131:8080/jenkins/job/项目名/build?token=XXX_TOKEN
	复制post-commit.tml 不要带tml
	在最下面粘贴

3、sonarqube安装及与Jenkins 集成

1、安装数据库
创建数据库 
创建sonar 用户
提高用户权限:chown -R sonar. /sonar
cd confg sonar.properties 修改用户名密码 放开连接数据库信息

以sonar 用户启动 sonar.sh start

默认登录 admin admin
输入字符 生成密钥并牢记保存。

全局工具配置
sonarqubeScanner
取名字 自动安装

configure system
名字 
证书 -> 凭据 -> jenkins 全局 ->添加凭据 -> 下拉密码文本 密钥+描述
保存
【jenkins 配置sonarqube】
# must be unique in a given SonarQube instance
sonar.projectKey=parallel

# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=parallel
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# This property is optional if sonar.modules is set.
sonar.sources=.
sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=target/classes
sonar.java.source=1.8
sonar.java.target=1.8

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
sonar.projectVersion=${BUILD_NUMBER}//配置版本号,不然第一次提交正常,之后的提交显示错误

4、问题汇总

Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Authentication required for ‘svn://192.168.1.95:3690 6f205048-4e01-0010-937d-7723a8b4cf5f‘

提示权限不足的问题 参考【1】
1、打开sonarqube的控制台,使用admin登录后 ,在配置->SCM->菜单中,将Disabled the SCM Sensor设置为true,
2、在svn页面,设置svn的用户名和密码。
3、记得要保存一下,不然不生效。

jenkins构建失败解决办法参考

【1】sonar-scanner扫描代码出错 SonarQube svn: E170001

sonarqube启动失败解决办法参考

【1】SonarQube 搭建代码质量管理平台
【2】SonarQube部署采坑

Jenkins定时构建

【1】Jenkins定时构建

sonarqube插件导出报告

【1】SonarQube 插件之 Issues Report & SonarLint 的配置及使用
【2】sonar获取多次版本号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值