测试开发之:Jenkins持续集成(下),构建与运行

Jenkins持续集成之构建与运行

  • 1、Jenkins的构建任务
    • 1.1新建任务
      • 1.1.1 丢弃旧的构建
      • 1.1.2 关闭构建
      • 1.1.3 安静期
      • 1.1.4 重复次数
      • 1.1.5 使用自定义的工作区
    • 1.2 源码管理
      • 1.2.1 默认设置
      • 1.2.2 git
      • 1.2.3 Subversion
    • 1.3 构建触发器
      • 1.3.1 触发远程构建
      • 1.3.2 在其他项目构建后构建
      • 1.3.3 定期构建
      • 1.3.4 Poll SCM
    • 1.4 构建环境
      • 1.4.1 Delete workspace before build starts
      • 1.4.2 Abort the build if it's stuck
      • 1.4.3 Add timestamps to the Console Output
      • 1.4.4 Inspect build log for published Gradle build scans
    • 1.5 设置构建
      • 1.5.1 Execute Windows batch command
      • 1.5.2 Excute shell
    • 1.6 构建后操作
      • 1.6.1 bulid other projects
      • 1.6.2 E-mail Notification
  • 2、运行构建任务
    • 2.1 构建执行
    • 2.2构建后日志查询
  • 3、总结
    • 3.1 Jenkins知识回顾

1、Jenkins的构建任务

续上一篇《测试开发之:Jenkins持续集成之安装与配置》
,我们配置完Jenkins后,现在就需要构建任务了。

跟着小鱼一起,看看Jenkins具体如何配置使用。

1.1新建任务

我们首先需要新创建一个任务,然后再取赋予一个响亮的名字。
因为任务类型有好几种,向我们不被约束的撸码人,当然要选择FreeStyle project
因为 自由风格的模板,很灵活,可以根据不同口味进行配置。

如下图
输入project名字 ,选择project风格,点击OK按钮,就创建成功了。
测试开发之:Jenkins持续集成(下),构建与运行_第1张图片

1.1.1 丢弃旧的构建

看标题,也能理解,就是自动删除构建。
因为每次构建需要保存结果和日志等东西,且都会单独进行构建,久而久之就会占用系统的空间,所以需要按照一定的规则进行清理。
1、默认是不勾选保留全部构建
2、如果要删除,勾选CheckBox后,根据输入框提示,填写信息即可
①Days to keep builds(保留构建的天数):30

根据自己的项目需要,填写

②Max # of builds to keep( 要保留的最大构建数量):10
测试开发之:Jenkins持续集成(下),构建与运行_第2张图片

1.1.2 关闭构建

这个设置默认是不会关闭的,一般也不会关闭。

是不是很尴尬,确实不会关闭。

除非有特殊情况需要在某一段时间关闭时,可以修改构建任务的配置,勾选该选项即可。

1.1.3 安静期

安静期就是构建前的等待时间,默认会读取系统配置的构建前等待时间,如勾选并设置对应的时间,则优先读取这个位置

1.1.4 重复次数

重复次数就是当代码库获取代码失败时重新执行指定的次数,如果指定次数xxx则停止执行。
测试开发之:Jenkins持续集成(下),构建与运行_第3张图片

1.1.5 使用自定义的工作区

任务的目录默认是系统设置的主目录下面,如需要对任务指定目录,则可以勾选并设置 其目录,这样就会优先使用这个目录。
测试开发之:Jenkins持续集成(下),构建与运行_第4张图片

1.2 源码管理

Jenkins一个重要功能,就是源码管理。
只要安装源码管理的插件就可以管理对应的源码。
我们一般常用的就是 svngit这两种,
安装完插件后,只需要勾选并配置对应的源码地址、账号密码、代码分支等即可。

1.2.1 默认设置

默认是none,即不使用任何管理工具,这种情况主要用于不需要修改代码的任务,比如:

  • 定时执行某些脚本任务
  • 定时执行自动化测试脚本

1.2.2 git

源码管理选择git,Repository URL填写git 仓库的地址:
git@url:/home/repo/test.git 格式为:【用户名】+【@】+【git服务器地址】+【:】+【git仓库地址】

我们一般使用master作为构建的代码分支

测试开发之:Jenkins持续集成(下),构建与运行_第5张图片
Credentials有两种方式,一种是配置以git用户名和密码,另外一种是使用密钥对的方式

①使用用户名和密码来配置,点击add:
测试开发之:Jenkins持续集成(下),构建与运行_第6张图片
用户是拥有git仓库权限的用户
在我的git服务器上存在一个git用户,并且对该仓库拥有所有权
②通过ssh密钥对的方式来配置:
测试开发之:Jenkins持续集成(下),构建与运行_第7张图片
首先客户机上进入用户主目录

#创建ssh目录
mkdir  .ssh
#创建密钥对,其中 -t rsa是指定秘钥的类型
ssh-keygen -t rsa

假如差创建的密钥对为key (私钥) 和 key.pub(公钥)

上图种的key即为key文件里复制的私钥,设置好后,将key.pub里的公钥复制到服务端对该git库拥有权限的用户主目录下的./ssh/authorized_keys文件。

1.2.3 Subversion

类似于git的配置。
勾选Subversion,输入svn地址,输入URL和对应的账号密码就OK了。

这里就不多说了,小姐姐还等着我解答问题呢…

1.3 构建触发器

配置完之代码管理后,就是最关键的一步,构建触发器
一切的构建脚本都需要满足触发器设置的条件才能执行。
也就是说不设置触发器,就不会执行后续的构建的。
我们先来看看触发器的类型,都有哪些

  • 触发器远程构建
  • 在其他项目构建后构建
  • 定期构建
  • Poll SCM

1.3.1 触发远程构建

这个触发器需要远程脚本或者命令触发,和手动执行是一样的,所以除非特殊情况,一般不会使用。

1.3.2 在其他项目构建后构建

完成某个构建任务之后执行这个构建,如同流水线的先后排序,只有完成上一步构建后,才能触发下一个任务。
适用于多个关联构建任务。

1.3.3 定期构建

定期构建,也叫定时构建,类似于crontab脚本的配置,可以指定构建的时间,比如:每天早上8点执行或者每周一早上9点执行。

1.3.4 Poll SCM

1、这也是一个定时触发构建,与定期构建的区别在于:

  • Poll SCM :定时检查检查源代码是否更新,只有更新了代码才会触发。
  • 定期构建:只是定时执行,不判断代码是否更新。
    2、都是通过日程表的配置来完成,日程表需要填入5个数值,分别是:分钟、小时、天、月、星期,并通过tab键进行分隔。
    举个例子:
    • 每20分钟进行构建一次 :20 * * * *
    • 每天10点进行构建 :0 10 * * *
    • 每天10点 - 18点每2个小时进行构建一次:0 10-18/2 * * *
      测试开发之:Jenkins持续集成(下),构建与运行_第8张图片

1.4 构建环境

一般很少使用构建环境这个,仅仅了解一下即可。

1.4.1 Delete workspace before build starts

构建之前清理工作空间。

1.4.2 Abort the build if it’s stuck

勾选之后如果构建出现问题,则终止构建。

1.4.3 Add timestamps to the Console Output

给控制台输出增加时间戳。

1.4.4 Inspect build log for published Gradle build scans

检查已发布的Gradle构建扫描的构建日志。

1.5 设置构建

这个部分是Jenkins的核心,所有的任务都是通过构建完成的。
可以根据需求建立一个或者多个任务,还需要点击增加构建步骤即可。
这里咱主要介绍两种:

  • Execute Windows batch command
  • Excute shell

1.5.1 Execute Windows batch command

这个是执行Windows下的命令,类似于在计算机端输入cmd。
如果安装python,则直接看这篇《Python3,实用技巧之:批量处理数据、本地集成命令、查看服务器日志

执行语句

python D:\project\test.py

测试开发之:Jenkins持续集成(下),构建与运行_第9张图片

配置完后进行运行就可以了。

当然,这里只拿Python举例子,
Java也可以的。

1.5.2 Excute shell

这里Linux下执行的脚本命令。
在linux系统安装Python或Java后,直接通过命令行运行即可。
执行语句

python /Users/pc009/desktop/project/test.py

测试开发之:Jenkins持续集成(下),构建与运行_第10张图片
构建本身只是一个处理过程,如果需要多个处理可以新增多个构建,只不过构建之间会又先后顺序,执行完成上一个构建才能执行下一个,
步骤
①新增构建a执行远程部署更新测试环境,
②然后再新增构建b执行自动化测试脚本的运行,
举例
以Windows为例,使用Execute Windows batch command,
第一个构建执行Python的环境部署脚本,
第二个构建执行Python自动化测试脚本,多个构建命令配置,
如图
测试开发之:Jenkins持续集成(下),构建与运行_第11张图片

1.6 构建后操作

执行完构建之后,如果需要执行一些收尾工作,可以添加构建后操作,
这里就介绍几个常用的构建后操作。

1.6.1 bulid other projects

这是最常用的功能之一,就是完成之后执行另外一个构建任务,只需要输入已存在的项目,
即可在执行完成这个构建操作后运行另外一个构建任务。
还有3个选项是触发下一个构建的条件,分别是:

  • 只有构建稳定时触发
  • 构建不稳定也依然触发
  • 即便构建失败也会触发

测试开发之:Jenkins持续集成(下),构建与运行_第12张图片

1.6.2 E-mail Notification

发送邮件常用功能(不常用功能,我也不会说),
只需要输入收件人的邮箱地址即可,因为之前系统设置已经配置过邮箱通知了。
同时也可以输入多个收件人,通过";"间隔。
同样,邮件发送功能,也是有2个选项,如下:

  • 每次不稳定的构建都发送邮件通知
  • 单独发送邮件给对方构建造成不良影响的责任人
    测试开发之:Jenkins持续集成(下),构建与运行_第13张图片
    以上这两个构建后的操作,基本已经满足大部分的持续集成需求了。

关于其他的操作,后续有时间,我会持续更新(但是概率不会太大),
如果等不及,可以单独撩我哦,汉子自动过滤~ ~

2、运行构建任务

2.1 构建执行

配置完成之后,保存构建任务就可以执行构建了。

不容易,写了这么多时间,终于到了执行构建的步骤

构建任务可以手动执行定时自动执行
这里主要说一下,手动执行构建,
因为定时构建,在本章节的1.3.4 Poll SCM已经说过了。

手动执行
点击项目名称进入到项目,点击立即构建就可以了。
测试开发之:Jenkins持续集成(下),构建与运行_第14张图片

2.2构建后日志查询

执行完构建后,在构建历史会有构建的状态,
如:成功(蓝色●),失败(红色●)。

  • 点击构建记录,进入到构建记录页面,如下图
    测试开发之:Jenkins持续集成(下),构建与运行_第15张图片

  • 点击控制台输出,可以查询构建日志信息,如下图。
    测试开发之:Jenkins持续集成(下),构建与运行_第16张图片

  • 点击变更记录,可以查询本次部署的内容。

如果部署没有变更内容,则就会提示没有变化;
如果部署有变更内容,则会列会变更的信息。
测试开发之:Jenkins持续集成(下),构建与运行_第17张图片

3、总结

3.1 Jenkins知识回顾

看到这里,Jenkins的持续集成两篇博文就要接近尾声了。
也说明你很有耐心呢,能把Jenkins持续集成从配置到执行构建能全看完。
我们回顾一下,我们这两篇的都分享了哪些内容:

  • 什么是持续集成
  • 持续集成的工具Jenkins
  • Jenkins的安装运行
  • Jenkins的配置
  • Jenkins的构建任务
  • 运行构建任务

随着互联网发展,集成工具也是有好几个了。
我们找到合适的工具,才是重要的,切勿贪多。

最后,小鱼再习惯性的列出两篇博文的地址,点一点就能直达:

  • 测试开发之:Jenkins持续集成(上),安装与配置
  • 测试开发之:Jenkins持续集成(下),构建与运行

你可能感兴趣的:(python,jenkens,持续集成系统)