51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1558|回复: 0
打印 上一主题 下一主题

持续集成工具Jenkins的构建与运行

[复制链接]
  • TA的每日心情
    无聊
    前天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-6-15 10:52:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    之前我们讲到了持续集成工具Jenkins的安装与配置,今天我们来讲Jenkins的构建与运行。

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

    输入project名字 ,选择project风格,点击OK按钮,就创建成功了。

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

     关闭构建
      这个设置默认是不会关闭的,一般也不会关闭。除非有特殊情况需要在某一段时间关闭时,可以修改构建任务的配置,勾选该选项即可。
      安静期:安静期就是构建前的等待时间,默认会读取系统配置的构建前等待时间,如勾选并设置对应的时间,则优先读取这个位置。
      重复次数:重复次数就是当代码库获取代码失败时重新执行指定的次数,如果指定次数xxx则停止执行。

     使用自定义的工作区
      任务的目录默认是系统设置的主目录下面,如需要对任务指定目录,则可以勾选并设置其目录,这样就会优先使用这个目录。

     源码管理
      Jenkins一个重要功能就是源码管理,只要安装源码管理的插件就可以管理对应的源码。
      我们一般常用的就是 svn和git这两种,安装完插件后,只需要勾选并配置对应的源码地址、账号密码、代码分支等即可。
      默认设置:默认是none,即不使用任何管理工具,这种情况主要用于不需要修改代码的任务,比如:
      定时执行某些脚本任务
      定时执行自动化测试脚本
      git
      源码管理选择git,Repository URL填写git 仓库的地址:git@url:/home/repo/test.git 格式为:【用户名】+【@】+【git服务器地址】+【:】+【git仓库地址】,我们一般使用master作为构建的代码分支。

    Credentials有两种方式,一种是配置以git用户名和密码,另外一种是使用密钥对的方式,
      1、使用用户名和密码来配置,点击add:

    用户是拥有git仓库权限的用户,在我的git服务器上存在一个git用户,并且对该仓库拥有所有权,
      2、通过ssh密钥的方式来配置:

    首先客户机上进入用户主目录:
    1. #创建ssh目录
    2. mkdir  .ssh
    3. #创建密钥对,其中 -t rsa是指定秘钥的类型
    4. ssh-keygen -t rsa
    复制代码
    假如创建的密钥对为key (私钥) 和 key.pub(公钥),上图中的key即为key文件里复制的私钥,设置好后,将key.pub里的公钥复制到服务端对该git库拥有权限的用户主目录下的./ssh/authorized_keys文件。

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

      构建触发器
      配置完代码管理后,就是最关键的一步,构建触发器。
      一切的构建脚本都需要满足触发器设置的条件才能执行。也就是说不设置触发器,就不会执行后续的构建的,我们先来看看触发器的类型,都有哪些:
      触发器远程构建
      在其他项目构建后构建
      定期构建
      Poll SCM
      触发远程构建:这个触发器需要远程脚本或者命令触发,和手动执行是一样的,所以除非特殊情况,一般不会使用。
      在其他项目构建后构建:完成某个构建任务之后执行这个构建,如同流水线的先后排序,只有完成上一步构建后,才能触发下一个任务,适用于多个关联构建任务。
      定期构建:定期构建,也叫定时构建,类似于crontab脚本的配置,可以指定构建的时间,比如:每天早上8点执行或者每周一早上9点执行。
      Poll SCM:这也是一个定时触发构建,与定期构建的区别在于:
      Poll SCM :定时检查检查源代码是否更新,只有更新了代码才会触发。
      定期构建:只是定时执行,不判断代码是否更新。
      都是通过日程表的配置来完成,日程表需要填入5个数值,分别是:分钟、小时、天、月、星期,并通过tab键进行分隔。
      举个例子:
      每20分钟进行构建一次 :20 * * * *
      每天10点进行构建 :0 10 * * *
      每天10点 - 18点每2个小时进行构建一次:0 10-18/2 * * *

     构建环境
      一般很少使用构建环境这个,仅仅了解一下即可。
      Delete workspace before build starts:构建之前清理工作空间
      Abort the build if it’s stuck:勾选之后如果构建出现问题,则终止构建
      Add timestamps to the Console Output:给控制台输出增加时间戳
      Inspect build log for published Gradle build scans:检查已发布的Gradle构建扫描的构建日志

      设置构建
      这个部分是Jenkins的核心,所有的任务都是通过构建完成的,可以根据需求建立一个或者多个任务,还需要点击增加构建步骤即可。这里咱主要介绍两种:
      Execute Windows batch command
      Excute shell
      Execute Windows batch command:这个是执行Windows下的命令,类似于在计算机端输入cmd。执行语句:

     配置完后进行运行就可以了。当然,这里只拿Python举例子,Java也可以的。
      Excute shell:这里Linux下执行的脚本命令,在linux系统安装Python或Java后,直接通过命令行运行即可。
      执行语句:
    1. python /Users/pc009/desktop/project/test.py
    复制代码

    构建本身只是一个处理过程,如果需要多个处理可以新增多个构建,只不过构建之间会有先后顺序,执行完成上一个构建才能执行下一个。
      步骤:
      1、新增构建a执行远程部署更新测试环境;
      2、然后再新增构建b执行自动化测试脚本的运行。
      以Windows为例,使用Execute Windows batch command,第一个构建执行Python的环境部署脚本,第二个构建执行Python自动化测试脚本,多个构建命令配置,如图:

    构建后操作
      执行完构建之后,如果需要执行一些收尾工作,可以添加构建后操作,这里就介绍几个常用的构建后操作。
      bulid other projects:这是最常用的功能之一,就是完成之后执行另外一个构建任务,只需要输入已存在的项目,即可在执行完成这个构建操作后运行另外一个构建任务。
      还有3个选项是触发下一个构建的条件,分别是:
      只有构建稳定时触发
      构建不稳定也依然触发
      即便构建失败也会触发

    E-mail Notification
      发送邮件常用功能(不常用功能,我也不会说),只需要输入收件人的邮箱地址即可,因为之前系统设置已经配置过邮箱通知了。
      同时也可以输入多个收件人,通过";"间隔,同样,邮件发送功能,也是有2个选项,如下:
      每次不稳定的构建都发送邮件通知
      单独发送邮件给对方构建造成不良影响的责任人

     以上这两个构建后的操作,基本已经满足大部分的持续集成需求了。

      运行构建任务
      构建执行
      配置完成之后,保存构建任务就可以执行构建了。
      构建任务可以手动执行 和定时自动执行。这里主要说一下,手动执行构建,因为定时构建,在本章节的1.3.4 Poll SCM已经说过了。

      手动执行
      点击项目名称进入到项目,点击立即构建就可以了。

    构建后日志查询
      执行完构建后,在构建历史会有构建的状态,如:成功(蓝色●),失败(红色●)。
      点击构建记录,进入到构建记录页面,如下图:

    点击控制台输出,可以查询构建日志信息,如下图。

    点击变更记录,可以查询本次部署的内容:
      如果部署没有变更内容,则就会提示没有变化;
      如果部署有变更内容,则会列会变更的信息。

    总结
      看到这里,Jenkins的持续集成两篇博文就要接近尾声了,也说明你很有耐心呢,能把Jenkins持续集成从配置到执行构建能全看完。
      随着互联网发展,集成工具也是有好几个了,找到合适的工具才是重要的,切勿贪多。



















    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 18:09 , Processed in 0.071904 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表