跨平台 api 对接
测试平台需求
- 稳定
- 功能
** 调用脚本
** 报告获取
** 分布式
** 支持 API 调用
- 开源
Jenkins 环境准备
需求 |
Jenkins 对应关系 |
调用脚本 |
在构建的shell中可以直接执行命令 |
分布式 |
节点管理 |
支持 API 调用 |
Jenkins 对外开放的 API |
报告获取 |
多种报告插件 |
- Docker 搭建的 Jenkins
** 主节点:Docker 服务
** 丛节点:宿主机
- 其他方式搭建的 Jenkins (可以直接调用)
Jenkins Slave 节点配置 ----没有使用docker搭建的话,推荐
- 添加节点
** Remote root directory:Slave 节点的工作路径
** Launch method:启动的配置
** Host Key Verification Strategy:取消验证
- 丛节点配置节点属性
** JAVA_HOME
** Git
Jenkins API 的使用
JenkinsAPI 使用-添加 token
使用 Jenkins API
- 配置 Jenkins 服务地址
- 配置 Jenkins 用户名
- 配置 Jenkins 用户 token
Jenkins 常用 API
- 根据 job 名称获取 job 对象
- 构建 job
- 获取当前 job 最后一次完成构建的编号
Jenkins 参数配置
- 通过 build_params 关键字传递构建参数
** 要求使用字典格式
** key 值为 Jenkins 中设定的参数名
** value 为给参数传递的值
# 安装 Jenkins 插件
# pip install jenkinsapi
# 获取 Jenkins 版本
from jenkinsapi.jenkins import Jenkins
# Jenkins 服务
BASE_URL = "http://www.loseweight.ren:8080/"
# Jenkins 服务对应的 用户名 和 token
USERNAME = "admin"
PASSWORD =
# 获得 Jenkins 实例对象,关联Jenkins 服务
jenkins_hogwarts = Jenkins(BASE_URL,USERNAME,PASSWORD)
print(jenkins_hogwarts.version)
# 获取 Jenkins 的 job 对象
job = jenkins_hogwarts.get_job("hogwarts")
# 构建获取的 job, 参数是字典格式,key 是Jenkins中设置的参数名
job.invoke(build_params={"task":"hogwarts"})
# 获取最后一次完成构建的编号
job.get_last_stable_buildnumber()