实习日志(第四周2)
来源:互联网 发布:淘宝代理费 编辑:程序博客网 时间:2024/05/16 04:55
python Jenkins API
- 安装Python Jenkins模块
- 常用使用操作
# !/usr/bin/env python# -*- coding:gbk -*-import jenkins# 定义远程的jenkins master server的url,以及portjenkins_server_url = 'http://192.168.2.130:8080/'user_id = 'Administrator' # 定义用户的User Id 和 API Tokenapi_token = '123456'# 实例化jenkins对象,连接远程的jenkins master serverserver = jenkins.Jenkins(jenkins_server_url, username=user_id, password=api_token)# 构建job名为job_name的job(不带构建参数)server.build_job('test_python',1)['result']server.build_job('HelloWorld', parameters='param_dict') # 参数param_dict为字典形式# 获取job名为job_name的job的相关信息server.get_job_info('HelloWorld')# 获取job名为job_name的job的最后次构建号server.get_job_info('HelloWorld')['lastBuild']['number']# 获取job名为job_name的job的某次构建的执行结果状态server.get_build_info('job_name','build_number')['result']# 判断job名为job_name的job的某次构建是否还在构建中server.get_build_info('job_name','build_number')['building']
- python jenkins的11个实用实例
- 查看Jenkins版本
import jenkins
server = jenkins.Jenkins('http://192.168.2.130:8080', username='Administrator', password='123456')
user = server.get_whoami()
version = server.get_version()
print('Hello %s from Jenkins %s' % (user['fullName'], version)) - 登录Jenkins使用Kerberos
import jenkins
server = jenkins.Jenkins('http://192.168.2.130:8080')
print server.jobs_count() - 使用Jenkins jobs(创建、配置、删除jobs)
server.create_job('empty', jenkins.EMPTY_CONFIG_XML)
jobs = server.get_jobs()
print jobs
my_job = server.get_job_config('cool-job')
print(my_job) # prints XML configuration
server.build_job('empty')
server.disable_job('empty')
server.copy_job('empty', 'empty_copy')
server.enable_job('empty_copy')
server.reconfig_job('empty_copy', jenkins.RECONFIG_XML)
server.delete_job('empty')
server.delete_job('empty_copy')
# build a parameterized job
# requires creating and configuring the api-test job to accept 'param1' & 'param2'
server.build_job('api-test', {'param1': 'test value 1', 'param2': 'test value 2'})
last_build_number = server.get_job_info('api-test')['lastCompletedBuild']['number']
build_info = server.get_build_info('api-test', last_build_number)
print build_info
# get all jobs from the specific view
jobs = server.get_jobs(view_name='View Name')
print jobs - 使用Jenkins views(创建、配置、删除views)
server.create_view('EMPTY', jenkins.EMPTY_VIEW_CONFIG_XML)
view_config = server.get_view_config('EMPTY')
views = server.get_views()
server.delete_view('EMPTY')
print views - 获得Jenkins 插件信息
plugins = server.get_plugins_info()
print plugins - 使用Jenkins节点(创建、配置、、启动、删除)
- 使用Jenkins构建队列
server.build_job('foo')
queue_info = server.get_queue_info()
id = queue_info[0].get('id')
server.cancel_queue(id) - 使用Jenkins Cloudbees Folders
server.create_job('folder', jenkins.EMPTY_FOLDER_XML)
server.create_job('folder/empty', jenkins.EMPTY_FOLDER_XML)
server.copy_job('folder/empty', 'folder/empty_copy')
server.delete_job('folder/empty_copy')
server.delete_job('folder') - 更新下一个build number
next_bn = server.get_job_info('job_name')['nextBuildNumber']
server.set_next_build_number('job_name', next_bn + 50) - 使用build promotions(创建、配置、删除 promotion process)
server.create_promotion(‘prom_name’, ‘prom_job’, jenkins.EMPTY_PROMO_CONFIG_XML)
server.promotion_exists(‘prom_name’, ‘prom_job’) print server.get_promotions(‘prom_job’)
server.reconfig_promotion(‘prom_name’, ‘prom_job’, jenkins.PROMO_RECONFIG_XML)
print server.get_promotion_config(‘prom_name’, ‘prom_job’)
server.delete_promotion(‘prom_name’, ‘prom_job’) - 等待Jenkins做好准备
可以要求API等待Jenkins准备好给定的超时时间。 这可以用于帮助启动Jenkins,然后等待REST API响应,然后再继续配置。
# timeout here is the socket connection timeout, for each connection
# attempt it will wait at most 5 seconds before assuming there is
# nothing listening. Useful where firewalls may black hole connections.
server = jenkins.Jenkins(‘http://localhost:8080‘, timeout=5)
# wait for at least 30 seconds for Jenkins to be ready if server.wait_for_normal_op(30):
# actions once running ...
else:
print(“Jenkins failed to be ready in sufficient time”) exit 2
- 查看Jenkins版本
阅读全文
0 0
- 实习日志(第四周2)
- 实习日志(第四周)
- 第四周实习记
- HSGF实习第四周
- 实习第四周
- 第四周Android实习笔记
- QA实习第四周总结
- 实习日志-第3天
- 实习日志-第11天
- 实习日志-第44天
- 实习日志2
- 实习日志-2
- 实习日志2
- 我的实习日志 第一周
- 实习第四周总结(2013.08.5-2013.08.11)
- 创新实验室实习生每周工作总结【实习第四周】
- 关于在惠普实习(第二周到第四周)
- 实习第2周
- net.sf.json Maven依赖配置
- dubbo架构构成
- 代理s3的nginx缓存服务器配置
- mui list (列表) ipnut (表单)
- 实习随记1
- 实习日志(第四周2)
- 【云栖大会】阿里云李津:持续释放技术红利,为1000万企业提供技术平台
- angular 追加文本框输入的内容
- [Oracle 11g r2(11.2.0.4.0)]集群资源管理
- phpmyadmin 导入数据库 502
- 你确定你真的懂Nginx与PHP的交互?
- MVC(持续更新)
- dubbo开发中使用到的一些服务配置方式
- 文本框限制输入字数