基于python调用jenkins-cli实现快速发布


Posted in Python onAugust 14, 2020

下载jenkins-cli.jar

登录jenkins页面,进入【系统管理】-【jenkins命令行接口】,点击截图中内容即可下载jar包文件。

基于python调用jenkins-cli实现快速发布

编写jks-autodeploy.py文件,内容如下:

#!/usr/bin/python3
#coding:utf8
import os
import time
curtime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

url="http://172.16.4.83:8080/"
username="admin"
passwd="passwd"
#jobs="zzz-job"
tag="v2.0.200601.09"

jobs = open("jobs","r")
for job in jobs:
  job=job.strip('\n')
  cmd = "java -jar jenkins-cli.jar -s %s -auth %s:%s build %s -p tag=%s" % (url,username,passwd,job,tag)
  os.system(cmd)
  print("%s开始构建------ tag版本:%s" % (jobs,tag))
  time.sleep(5)
jobs.close()

说明:对于不同的环境发布使用此脚本,只需要修改url,账号,密码,发布的tag版本号,以及要发布的job名称写入到jobs这个文件即可。该脚本执行后,根据jobs里面的工程,每5秒发布一个工程,这样不用在jenkins页面每次点击页面了。

3.后续可以对脚本进一步优化,增加回滚机制和发布效率。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 计算文件的md5值实例
Jan 13 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
Dec 12 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
Jul 16 Python
Django中提供的6种缓存方式详解
Aug 05 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
python kafka 多线程消费者&手动提交实例
Dec 21 Python
python enumerate内置函数用法总结
Jan 07 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
使用tensorflow进行音乐类型的分类
Aug 14 #Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 #Python
如何真正的了解python装饰器
Aug 14 #Python
详解python metaclass(元类)
Aug 13 #Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 #Python
Expected conditions模块使用方法汇总代码解析
Aug 13 #Python
深入了解Python装饰器的高级用法
Aug 13 #Python
You might like
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
PHP实现的策略模式示例
2019/03/20 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
JS 实现双色表格实现代码
2009/11/24 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
python实现多线程采集的2个代码例子
2014/07/07 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
使用python实现接口的方法
2017/07/07 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
升职演讲稿范文
2014/05/23 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
Python实现数据的序列化操作详解
2022/07/07 Python