一、概述
在工作中我们会有直接想通过http方式运行Jenkins job的需求,这样就不需要每次都进入JENKINS的页面了。
二、安装python-jenkins
pip3 install python-jenkins
基本用法:
import jenkins
# 登录jenkins
server = jenkins.Jenkins('http://192.168.59.149:8080', username='jenkins', password='jenkins@!23')
# 构建普通job
server.build_job('jxInstantQuery')
# 构建参数化job
server.build_job('jxInstantQuery2', {'param1': 'aaa', 'param2': 'bbb'})
三、项目演示
本文采用 Jenkins 2.222.4,ip地址为:10.212.82.86
构建普通job
这里有一个普通job,构建时,不需要任何参数。
python代码如下:
jenkins_build.py
import jenkins
server = jenkins.Jenkins('http://10.212.82.86:8080', username='admin', password='admin')
server.build_job('test')
执行代码
python3 jenkins_build.py
查看jenkins页面,此时会有提示,等待几秒构建。
等待几分钟,就会构建成功。
构建参数化job
再来看另外一个参数化job
点击Build with Parameters
注意:这里有2个参数。其中发布时,是不需要填写BUILD_ID的。只有回滚时,才需要BUILD_ID。
发布
jenkins_build.py
import jenkins
server = jenkins.Jenkins('http://10.212.82.86:8080', username='admin', password='admin')
server.build_job('test_admin', {'Status': 'Deploy', 'BUILD_ID': ''})
回滚
jenkins_build.py
import jenkins
server = jenkins.Jenkins('http://10.212.82.86:8080', username='admin', password='admin')
server.build_job('test_admin', {'Status': 'Rollback', 'BUILD_ID': '26'})
注意,这里的BUILD_ID,指的是jenkins job构建id。