环境
在windows安装git
配置环境变量PATH
配置dipoly keys
安装Jenkins
安装插件
安装Git plugin
安装Script Security Plugin(这个不安装会有脚本漏洞)
安装Role-based Authorization Strategy
安装Audit Trail
安装Job Config History
系统设置
发送通知邮箱设置
全局工具配置
配置GIT工具
配置JDK工具
配置MAVEN工具
Credentials
增加git资源管理凭证
配置任务作业
创建任务
配置任务
配置任务(项目)之间的依赖关系
配置邮箱通知
代码质量检查和报告
安装插件
系统设置
全局工具配置
任务作业配置
Win10 64bit
jenkins 2.99
git 2.15.1
Maven 3.5
Sonarqube6.7.1
下载地址https://github.com/waylau/git-for-win
下载后直接安装
Path=安装目录/bin
1.生成密钥(公钥和私钥)
$ ssh-keygen -t rsa -C "githubname" (注:githubname为github上的用户名)
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/think/.ssh/id_rsa):
Created directory '/c/Users/think/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/think/.ssh/id_rsa.
Your public key has been saved in /c/Users/think/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:NnCG2U5zjkjAOyH9ZmLrXmEFO4dv8wJB/xVC+sVCqb0 think@DESKTOP-9THOBA6
The key's randomart image is:
+---[RSA 2048]----+
| o. o .+.. |
| . +o O o.o . |
| . +X @oo + |
| =.+&.B.+ |
| . *= S +. |
| .. = +E |
| . . . . |
| .. . |
| .. |
+----[SHA256]-----+
注意:passphrase 要设置,并要牢记,之后会有用。
2. 复制公钥
$cat .ssh/id_rsa.pub (或是用编辑器打开c:/Users/think/.ssh/id_rsa.pub)
然后复制里面的所有内容。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZqS0OOS6TEDamoZ6S4hhokbVldsXMPFZnNR4dC+/zQ0ffpVkxPTGIkNDVuLeQmntmoBEbScCgAkRZAah4yAqDsuT/PBOf6cBmLTCVpqv/Kk0EkO+1Nn97uePIfWnszFENsvut5sq07lkmE3NHx6y2MzdabZYLsts3nq+Y6NnA4RNQbfAsBYdwSEfmgXMJumdYd50q4291d3cy0znYLB25N0MEzTeMF/ircBqJ7+12KoK+IOwipeJ+sF08U3fFgC/rPUkQ5lZYTrMf68DwUn3xtrMpy1TPDqeIiEHliH4+uJnaziSrBL0vIeJFpA/L8hmr0ARL/bOA0a70/r0il8iB think
3.设置dipoly keys
登入github,settings->dipoly keys->add dipoly keys,输入上面复制的公钥,title可以随便填。
4.生成的dipoly keys
到这dipoly keys配置完成了。
5.检测配置
$ssh -T [email protected]
Enter passphrase for key '/c/Users/think/.ssh/id_rsa':输入passphrase
Hi swy1314/game-of-life! You've successfully authenticated, but GitHub does not provide shell access.
如果出现You've successfully authenticated,表示配置是成功的。
6.关于Clone地址
配置了dipoly keys的githubname用户,Clone URL不能用https的地址,要用SSH的地址。
Https的地址:https://github.com/githubname/game-of-life.git
SSH的地址:[email protected]:githubname/game-of-life.git
Use HTTPS或Use SSH切换两种地址
git源代码管理插件
角色权限管理插件,如果设置安全策略时不用角色授权策略,可以不用安装这个插件。
安装后,到全局安全配置中开启Role-Based Strategy
然后就有了Manage and Assign Roles这个系统管理项,到这里面去配置角色和分配权限
跟踪用户行为插件,相当于用户的操作日志
然后在系统设置里配置
记录任务作业和系统配置的全部变更有历史的插件
然后在系统设置里配置
查看任务配置历史
打开 系统配置->全局工具配置
如果是有linux环境,path地址为 安装目录/bin/git
增加git资源管理凭证
按图上说明配置。
Git_ssh_private_key就是增加git资源管理凭证章节配置的
配置上一个任务(项目)
配置下一个任务
(1) 普通邮箱通知
普通邮箱通知,即在构建出现不稳定的时候,通知Recipents。通知内容格式已经由系统生成。Recipents配置的是要通知人员的邮箱,以逗号分隔开。
如果不选“每次不稳定的构建都发送邮件通知”,则只会在上个构建成功后的第一个不稳定构建发通知,之后连续出现的不稳定都不再发通知。
如果选择“单独发送邮件给构建造成不良影响的责任人”,则会通知对此次构建有修改的开发人员。目前些选项配置并不成功,不会通知责任人。有两个问题没搞清楚:如何知道责任人是谁?怎么知道责任人的邮箱?
(2) 定制邮箱通知
定制通知,会有很多触发器,不同的触发器根据需要可以通知不同的人。而且标题和内容等都是可以自己定义的。通过Jenkins内置的变更,提取需要的配置和作业信息。
系统设置
任务作业配置
配置sonarqube做代码质量检查报告。本文例子用的sonarqube是6.7.1版本。
Server authentication token由sonarqube服务器生成,步骤如下图:
任务作业配置有两种方法。
方法一:
(1) 打开sonar服务器上的SCM开关
(2) 任务作业配置SonarQube
Analysis properties配置:
# Required metadata
#可以随便取,但不能与sonar服务里项目重复
sonar.projectKey=game-of-life-default
#可以随便取,但不能与sonar服务里项目重复
sonar.projectName=game-of-life-default
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
#源代码所在的目录,以逗号隔开,必须是/不能是\
sonar.sources=gameoflife-build/src,gameoflife-core/src/main/java,gameoflife-web/src/main/java
#编译后的文件目录,以逗号隔开,必须是/不能是\
sonar.java.binaries=gameoflife-build/target/classes,gameoflife-web/target/classes
# Language
sonar.language=java
# Encoding of the source files
sonar.sourceEncoding=UTF-8
方法二:
(1) 修改MAVEN的settings.xml配置:
jdbc:mysql://localhost:3306/sonar?useUnicode=trueamp;characterEncoding=utf8
(2) 任务作业配置MAVEVN的Goals