Jenkins之持续构建

Jenkins持续构建

环境

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

windows安装git

下载地址https://github.com/waylau/git-for-win

下载后直接安装

 

配置环境变量PATH

Path=安装目录/bin

配置dipoly keys

1.生成密钥(公钥和私钥)

$ ssh-keygen -t rsa -C "githubname" (注:githubnamegithub上的用户名)

 

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 git@github.com

 

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 keysgithubname用户,Clone URL不能用https的地址,要用SSH的地址。

Https的地址:https://github.com/githubname/game-of-life.git

 

SSH的地址:git@github.com:githubname/game-of-life.git

  

Use HTTPSUse SSH切换两种地址

 

安装Jenkins

安装插件

安装Git plugin

git源代码管理插件

 

安装Script Security Plugin(这个不安装会有脚本漏洞)

 

安装Role-based Authorization Strategy

角色权限管理插件,如果设置安全策略时不用角色授权策略,可以不用安装这个插件。

 

安装后,到全局安全配置中开启Role-Based Strategy

 

然后就有了Manage and Assign Roles这个系统管理项,到这里面去配置角色和分配权限

 

安装Audit Trail

跟踪用户行为插件,相当于用户的操作日志

 

然后在系统设置里配置

 

安装Job Config History

记录任务作业和系统配置的全部变更有历史的插件

 

然后在系统设置里配置

 

查看任务配置历史

 

系统设置

发送通知邮箱设置

 


 

全局工具配置

打开 系统配置->全局工具配置

配置GIT工具

 

如果是有linux环境,path地址为 安装目录/bin/git

配置JDK工具

 

配置MAVEN工具

 

Credentials

增加git资源管理凭证




 

按图上说明配置。

 

配置任务作业

创建任务

 

 

配置任务

 


Git_ssh_private_key就是增加git资源管理凭证章节配置的




 

配置任务(项目)之间的依赖关系

配置上一个任务(项目)

  

配置下一个任务

 

配置邮箱通知

(1) 普通邮箱通知

普通邮箱通知,即在构建出现不稳定的时候,通知Recipents。通知内容格式已经由系统生成。Recipents配置的是要通知人员的邮箱,以逗号分隔开。

 

如果不选“每次不稳定的构建都发送邮件通知”,则只会在上个构建成功后的第一个不稳定构建发通知,之后连续出现的不稳定都不再发通知。

如果选择“单独发送邮件给构建造成不良影响的责任人”,则会通知对此次构建有修改的开发人员。目前些选项配置并不成功,不会通知责任人。有两个问题没搞清楚:如何知道责任人是谁?怎么知道责任人的邮箱?

(2) 定制邮箱通知

定制通知,会有很多触发器,不同的触发器根据需要可以通知不同的人。而且标题和内容等都是可以自己定义的。通过Jenkins内置的变更,提取需要的配置和作业信息。

系统设置

 

任务作业配置

 


 

 

代码质量检查和报告

配置sonarqube做代码质量检查报告。本文例子用的sonarqube6.7.1版本。

安装插件

 

系统设置

 

Server authentication tokensonarqube服务器生成,步骤如下图:

  


全局工具配置

 

任务作业配置

任务作业配置有两种方法。

方法一:

(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) 修改MAVENsettings.xml配置:

  <pluginGroups>

      <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>

  </pluginGroups>

  <profiles>

<profile>

<id>sonar</id>

<activation>

<activeByDefault>true</activeByDefault>

</activation>

<properties>

<sonar.jdbc.url>

jdbc:mysql://localhost:3306/sonar?useUnicode=trueamp;characterEncoding=utf8

</sonar.jdbc.url>

<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>

<sonar.jdbc.username>root</sonar.jdbc.username>

<sonar.jdbc.password>root</sonar.jdbc.password>

<sonar.host.url>http://localhost:9000</sonar.host.url>

</properties>

</profile>

  </profiles>

<activeProfiles>

    <activeProfile>sonar</activeProfile>

</activeProfiles>

(2) 任务作业配置MAVEVNGoals

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值