插件

Jenkins plugin 概述

https://plugins.jenkins.io/

https://www.jenkins.io/zh/doc/book/managing/plugins/

  • Jenkins 默认安装的插件往往不能满足生成需求,需要安装一些额外的插件

  • 插件的安装通常在Jenkins的web界面进行(Manage Jenkins → Plugin Manager)

    • 虽然插件可以单独上传到Jenkins的家目录进行安装,但大部分插件都是和其他插件有依赖关系,因此单独上传的插件往往不能使用
  • 有的插件在下载完成后需重启Jenkins才可生效,也可以在下载过程中点击 安装完成后重启Jenkins(空闲时)

配置文件管理插件

Config File Provider

https://plugins.jenkins.io/config-file-provider/

https://www.jenkins.io/doc/pipeline/steps/config-file-provider/

  • 用户不具有Jenkins节点的主机文件系统访问权限时,可借用Config File Provider插件进行修改
  • Managing Jenkins → Managed Files(新增的菜单项)
  • add a New configuration→ Global Maven settings.xml,指向国内或企业内部的maven镜像
  • 最后在 Global Tool Configuration → Maven 配置中引用即可
  • 在pipeline中的引用语法可以参阅语法生成器

CI/CD核心插件

GitLab
GitLab Authentication
Generic Webhook Trigger
GitLab Logo

角色管理插件

Role-based Authorization Strategy

邮件管理插件

Email Extension #邮件管理扩展插件,非必选

Jenkins 用户和项目的创建

  • Jenkins默认创建的用户都是超级管理员权限,这时就需要给用户设置特定的权限从而实现灵活管理
  • 举例的用户和项目:
    • dev-leader1 –> project1
    • dev-leader2 –> project2

创建用户

  • 系统管理 –> 管理用户 –> 新建用户
    • 用户名:dev-leader1
    • 密码:xxx
    • 确认密码:xxx
    • 全名:xxx
    • 电子邮件地址:767483070@qq.com
  • dev-leader2同理

创建项目

  • 新建任务 –> 输入一个任务名称:project1 –> 构建一个自由风格的软件项目 –> 确定
  • project2同理

Jenkins 用户权限管理

  • 权限管理依赖于上面安装的Role-based插件

开启Role-Based方式的授权策略

系统管理 –> 全局安全配置 –> 授权策略 –> Role-Based –> 保存

Role-Based授权

  • 系统管理 –> Manage and Assign Roles

  • Manage Roles:

    • Global roles(这里默认有一个admin角色 即管理员 正常无需动,下面Role to add的角色添加后会在此显示,然后按需分配权限即可,一般普通用户这里只给读权限即可
    • Role to add(添加角色)
      • 如:custom-role
      • add
    • save
  • Assign Roles:

    • Global roles:(需要先从下面添加用户,然后将将用户在对应的角色上√即可)

    • User/group to add:(用户和角色关联,先添加用户,如:dev-leader1 和 dev-leader1)

    • save

小结

  • 经过上面的配置就可以实现除管理员外,其他的用户就都只具有读的权限了

Jenkins 项目权限管理

  • 权限管理依赖于上面安装的Role-based插件

开启Role-Based方式的授权策略

系统管理 –> 全局安全配置 –> 授权策略 –> Role-Based –> 保存

Role-Based授权

  • 系统管理 –> Manage and Assign Roles

  • Manage Roles:

    • Item roles(定义项目角色)
      • Role to add:(项目的角色名称,如:app1)
      • Pattern:(项目名称,如project1,如包含多个项目 则可以添加正则表达式,add添加完成后可以点击pattern处查看匹配的项,注意:此处要最低给项目角色读权限 否则无法查看到project,其他的可以按需分配构建、执行等权限
      • add
    • save
  • Assign Roles:

    • Item roles:(下面add添加后在app1处√)

    • User/group to add:(增加授权的角色名称,如:dev-leader1),add

    • save

小结

  • 经过上面的配置就可以实现除管理员外,其他的用户就都只具有读的权限了

Jenkins 邮箱配置

系统管理员收件配置

  • 管理Jenkins –> 系统配置 –> Jenkins Location
    • 系统管理员邮件地址:rootroot25@163.com

发送邮件配置

  • 管理Jenkins –> 系统配置 –> 邮件通知 –> 高级
    • SMTP服务器:smtp.163.com
    • 用户默认邮件后缀:@163.com
    • 使用SMTP认证:√
      • 用户名:rootroot25@163.com
      • 密码:XXXXXXXXXXXXX
    • 使用SSL协议
    • SMTP端口:465
    • Reply-To Address:rootroot25@163.com
    • 字符集:UTF-8

小结

  • 最后可以 通过发送测试邮件测试配置 来测试邮件是否可以成功发送
  • 邮件无法发送原因:系统管理员邮件地址 必须和 发送邮件配置的用户名以及Reply-To Address保持一致

Blue Ocean

  • 此插件提供了更美观的 UI 显示