一,凭据管理
- 凭据管理的作用:管理ssh、邮箱、git等认证信息
1.1 凭据配置
-
配置路径:
-
添加凭据:
-
修改凭据信息:
-
删除凭据(点击凭据ID进入对应的页面):
1.2 凭据使用
-
新建节点
-
配置对应的凭据
二,Jenkins环境变量
2.1 定义
- Jenkins 环境变量就是通过 env 关键字暴露出来的全局变量,可以在 Jenkins 文件的任何位置使用
2.2 分类:
- 系统内置环境变量
- 用户自定义环境变量
2.3 常用内置环境变量
- BUILD_NUMBER
- BUILD_URL
- JOB_NAME
- GIT_URL
2.4 用户自定义环境变量新增
- 全局环境变量入口 Dashboard → 系统管理(Manage Jenkins) → 系统配置(Configure System)-> 全局属性
2.5 环境变量的使用
- Windows:%变量名称%
- Linux: $变量名称
三,Jenkins 节点配置
3.1 节点定义:
- docker 搭建的内建节点 (built-in或者master) 缺少许多的环境
- 同一时间需要多台机器来执行Jenkins任务。
- 不同的Jenkins任务有不同的操作环境需求。
3.2 常用节点
-
内建节点
-
SSH节点
- java环境
- 防火墙设置
- 连接的用户名/密码
- 入口 Dashboard → 系统管理(Manage Jenkins) → 节点管理(Manage Nodes and Clouds)
- 需要插件:SSH Agent Plugin
-
Java web节点
- 入口 Dashboard → 系统管理(Manage Jenkins) → 节点管理(Manage Nodes and Clouds)
- 需要打开全局安全配置代理的端口
四, Jenkins节点环境变量
4.1 定义
- Jenkins在构建的时候,如果使用节点构建可能存在一些个性化环境变量,此时需要在节点中单独管理
4.2 节点变量类型
- 节点工具配置
- 节点环境变量配置
4.3 节点工具配置
- 节点工具的使用顺序 节点工具 > 全局工具
- 节点工具配置方式 先配置全局工具,后配置节点工具
- 全局工具路径 Dashboard → 系统管理(Manage Jenkins) → 全局工具配置(Global Tool Configuration)
- 节点工具配置路径 Dashboard → 系统管理(Manage Jenkins) → 节点管理(Manage Nodes and Clouds)-> 配置从节点 → 节点属性 → 工具位置
4.4 节点环境变量配置
- 节点环境变量的使用顺序 节点环境变量 > 全局环境变量
- 全局环境变量路径 Dashboard → 系统管理(Manage Jenkins) → 系统配置(Configure System)-> 全局属性
- 节点环境变量配置路径 Dashboard → 系统管理(Manage Jenkins) → 节点管理(Manage Nodes and Clouds)-> 配置从节点 → 节点属性 → 环境变量
4.5 Jenkins指定节点运行Job
- 工作中通常会使用指定节点来运行Job,例如windows来执行ui测试
- 指定节点运行Job的路径 选择一个Job → 配置 → General → 限制项目的运行节点(Restrict where this project can be run )
五, Jenkins 参数化 Job
5.1 使用场景
- 同一个项目需要在不同环境下测试
5.2 参数化 Job 的配置
-
- 选择参数化构建过程,选择选项参数
-
- 名称填入 env
-
- 选项配置三个值分别: dev、test、online
-
- 添加描述
- 添加描述
5.3 配置shell
# 判断 env 参数的值,如果是dev,则输出 dev runtime
if [ "$env" = "dev" ]
then echo "dev runtime"
# 判断 env 参数的值,如果是test,则输出 test runtime
elif [ "$env" = "test" ]
then echo "test runtime"
# 判断 env 参数的值,如果是online,则输出 online runtime
elif [ "$env" = "online" ]
then echo "online runtime"
# 判断 env 参数的值,如果是其他,则输出 other runtime
else echo "other runtime"
fi
5.4 查看运行效果
六, Jenkins 插件安装
6.1 入口
- Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)
6.2 插件管理代理
- Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)-> 高级(Advanced)
- 可以配置代理服务和ip 或者使用国内插件源
6.3 插件新装
- Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)-> 可选插件(Available)
- 模糊搜索
- 勾选后点击安装
6.4 插件更新
- Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)-> 可更新(Updates)
- 插件有更新后,会出现在此列表
- 勾选后点击安装
6.5 插件移除和禁用
- Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)-> 已安装(Installed)
- 每个插件后有开关实现禁用和启用
- “x” 进行插件的移除
6.6 SSH插件
- 在Jenkins 配置从节点执行构建操作的时候需要用到 SSHAgent
- 在可选插件搜索 SSH Build Agents plugin 安装
- 在节点管理中,能使用ssh节点 选项为 Launch agents via SSH
6.7 git版本管理
-
插件下载:
-
- 进入菜单 Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)
-
- 在可选插件搜索 Git 找到 Git plugin 安装
-
-
配置全局工具
-
- 进入菜单 Dashboard → 系统管理(Manage Jenkins) → 全局工具配置(Tool)
-
- 找到 Git,点击新增
-
- 键入name 和 Path to Git executable 或者使用自动安装(对网络要求高)
-
-
Git 相关使用
- 自由风格 job 中源码管理中 选择 Git
- 在 Repositories 中配置 git 的 url,认证信息
- 在 Branches to build 中设置构建的分支
- 在 Additional Behaviours 中添加需要的个性化 ,比如检出到子目录
6.8 maven插件配置
-
在 Jenkins 上构建 Java 项目时需要使用 Maven 来进行构建打包
-
在执行job的机器上安装好maven
-
- 下载 maven 程序压缩包
-
- 解压 maven 压缩包
-
- 配置环境变量
-
- 在settings.xml文件设置好仓库、国内源(配置公司的仓库和jar包下载地址)
- 在settings.xml文件设置好仓库、国内源(配置公司的仓库和jar包下载地址)
-
-
下载 maven 插件
-
- 进入菜单 Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)
-
- 在可选插件搜索 maven 找到 Maven IntegrationVersion并安装
-
-
配置全局工具
-
- 进入菜单 Dashboard → 系统管理(Manage Jenkins) → 全局工具配置(Tool)
-
- 找到 Maven,点击新增
-
- 键入name 和 MAVEN_HOME 或者使用自动安装(对网络要求高)
-
-
Maven 相关使用
-
- 新建 job 的时候选用构建一个 Maven 项目
-
- 自由风格: job 中命令行使用 mvn 命令
-
七, Jenkins 邮件告警
7.1 作用:Jenkins job 构建结果的提取并通知相关人士
7.2 下载 Email Extension 插件
-
- 进入菜单 Dashboard → 系统管理(Manage Jenkins) → 插件管理(Manage Plugins)
-
- 在可选插件搜索 Email Extension 找到 Email Extension 安装
7.3 修改系统配置项目
(1) Jenkins Location 配置
- Jenkins Location 管理员邮件地址需要与后续邮件通知配置的地址一致
(2) 邮件通知配置(用于测试连通性)
-
邮件通知
- SMTP认证的密码为邮箱开启SMTP后的授权码
- SMTP认证的密码为邮箱开启SMTP后的授权码
-
测试邮件发送
(3) Extended E-mail Notification 配置
-
在 job 中配置邮件发送,并配置发送trigger(触发器)
-
trigger触发器是设置job在成功/失败/无构建等情况时,可以发送邮件给对应的人
-
构建验证发送
八, Jenkins 父子job
-
工作中经常会用到job关联,如先启动服务后进行测试
-
父子job的配置
-
建立父job
-
在子job关联父job
- 新建一个子job,在设置中构建触发器配置父job
- 新建一个子job,在设置中构建触发器配置父job
-
执行父job后会自动拉起子job执行
-