Jenkins Job机制

Jenkins节点管理

Jenkins权限控制

Jenkins用户权限控制

  • Jenkins初始化过程中会先注册一个管理员用户

  • 管理员用户再创建后续的一般用户

  • 管理员用户登录进行后续配置

  • 启动用户安全配置,Manage Jenkins -> Configure Global Security

    image-20200903113559767

image-20200903113714432

  • 注册用户的操作的权限控制

    • 必须由管理员来完成
    • 用户可以自由注册,启用之后在Jenkins首页可以看到Sign-up入口
  • 注册权限配置位置在“Configure Global Security”中

  • 团队规模不大(10人左右)建议不要启用用户自由注册选项,减少用户管理时间成本

  • 配置好权限之后,管理员可以从后台直接添加用户

  • 从Jenkins管理控制台页面->Manage Jenkins->Manage user

    image-20200903114249159

Jenkins用户管理

  • 管理用户,用户的添加、修改和删除

    image-20200903114708217

Jenkins安全矩阵

image-20200903115138529

Jenkins常用插件

Jenkins插件

  • Jenkins强大的原因之一就是插件众多
  • 插件帮助Jenkins丰富自身原有的功能
  • 插件的安装方法
    • 进入插件安装页面:Manage Jenkins -> Manage Plugins -> Available
    • 在Filter中输入希望安装的插件名称,然后看一下过滤结果
    • 如果插件存在,勾选该插件,然后执行”Download now and install after restart”
    • 标签也分别代表Update(可更新),Available(可选的),Installed(已安装),Advanced(高级-配置代理服务或者自定义插件)

Jenkins插件安装

  • 插件安装搜索技巧

  • 关键词可以只搜索一部分

  • 比如:希望搜索Multiple SCMs plugs,可以只搜索Multiple

  • 搜索出来之后,如果当前的Jenkins没有安装过该插件,可以选择Install进行安装

    image-20200903120304725

Jenkins推件插件

  • Multiple SCMs plugin

  • Rebuilder

  • Safe Restart Plugin

  • Pipeline

  • Text Finder

  • Blue Ocean

  • Allure

Jenkins报警机制

Jenkins 报警规则

  • 在模板设置的下方有个规则设置的按钮,点击后,设定报警规则

    image-20200903191735948

  • 在job的构建后操作步骤添加对应操作,并配置好Triggers

    image-20200903194432103

image-20200903194503907

Jenkins配置Email

  • 用户Jenkins构建任务之后发送email通知

  • 需要下载Email插件,插件名称:Email Extension,Email Extension Template

    • 这两个插件的作用是帮助用户方便的设置格式化邮件

      image-20200903185222968

  • 配置邮件发送规则

  • 配置邮件模板

Jenkins配置管理员邮箱

  • System Admin e-mail address 配置要与将要配置邮箱用户名相同

    image-20200903185418676

Jenkins配置Email发送

image-20200903185811086

“Reply-To Address”要与“系统管理员邮件地址”一致

Jenkins模板配置

  • Jenkins可以根据你配置的邮件模板格式发送结果邮件

  • 通过Jenkins的参数定制自己的Email模板,常用的参数key值如下:

    • - $BUILD_STATUS - 构建结果

    • - $PROJECT_NAME - 构建脚本名称

    • - $BUILD_NUMBER - 构建脚本编号

    • - $JOB_DESCRIPTION - 构建项目描述

    • - $CAUSE - 脚本启动原因

    • - $BUILD_URL - 脚本构建详情URL地址

Jenkins模板配置

  • 邮件模板需要在,“系统设置” -> “Extended E-mail Notification” 中设置

    image-20200903190911663

Jenkins一个简约模板

  • Subject

    • Jenkins运行提示:$BUILD_STATUS|脚本名称:$PROJECT_NAME|运行编号:$BUILD_NUMBER
  • Content

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <hr/>(本邮件是程序自动下发,请勿回复)<br/><hr/>
    项目名称:$PROJECT_NAME<br/><br/>
    项目描述:$JOB_DESCRIPTION<br/><br/>
    运行编号:$BUILD_NUMBER<br/><br/>
    运行结果:$BUILD_STATUS<br/><br/>
    触发原因:${CAUSE}<br/><br/>
    构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><br/>
    构建地址:<a href="BUILD_URL">BUILD_URL</a><br/><br/>
    详情:${JELLY_SCRIPT,template="html"}<br/><hr/>

Jenkins父子Job

Jenkins父子多任务运行

  • 任务启动的触发条件:其他任务的运行结果
  • 前驱任务成功的条件下被触发
  • 前驱任务失败的条件下被触发
  • 前驱任务不稳定的条件下被触发
  • 适用场景:有先后次序关系的任务,比如 部署环境任务 -> 验收测试任务

Jenkins配置成功任务关联

  • 前驱任务成功的条件下被触发

image-20200904132001948

Jenkins配置失败任务关联

  • 前驱任务构建失败的条件下也被触发

    image-20200904132223678

Jenkins配置不稳定任务关联

  • 前驱任务不稳定的条件下也被触发

    image-20200904132358290

  • 手工造一个不稳定的执行

    • 安装Text Finder插件
    • 任务最终结果为成功,输出字样中含“unstable”
    • 在Post Action中设置规则:如果在console中检测到“unstable”,则标记任务状态为unstable