Jenkins之持续构建
发布日期:2021-06-28 18:27:38 浏览次数:2 分类:技术文章

本文共 4218 字,大约阅读时间需要 14 分钟。

Jenkins持续构建

 

环境

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

 

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的地址:

 

SSH的地址:

  

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工具

 

增加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

 

转载地址:https://blog.csdn.net/xjj1314/article/details/79067881 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接。
下一篇:spring mvc 4 + swagger2

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月29日 20时19分58秒