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

下载jenkins-cli.jar

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

编写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.后续可以对脚本进一步优化,增加回滚机制和发布效率。

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

(0)

相关推荐

  • jenkins配置python脚本定时任务过程图解

    这篇文章主要介绍了jekins配置python脚本定时任务过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.首先安装jekins环境,访问网页https://jenkins.io/zh/download/,下载长期稳定版如下: 2.下载安装包后直接运行,进行选择安装路径,傻瓜式安装.安装完成后,点Finished,弹出jekins输入密匙网页,根据网页提示路径,找到 对应的jekins密匙输入后,选择推荐插件安装即可.(也可以不安装插

  • Python-jenkins 获取job构建信息方式

    官方文档: 需求:当1个job启动构建后,获取它的构建状态.(成功,失败,驳回,构建中,正在排队) 关键函数: 获取job是否在排队的结果 获取正在排队构建的job队列 即pending状态中的所有job,如果没有 pending状态的job即返回1个空列表 queue_info = server.get_queue_info() 获取job构建结果 server.get_build_info(name, build_number)[ 'result'] # 构建结束 SUCCESS|FAILU

  • python的Jenkins接口调用方式

    本来非常喜欢偷懒 最好就是不干活那种 所以最近在研究把Jenkins模块集成起来 做成傻瓜界面这样就给他们用 本人Python搓望大神不要喷,多多指导 jenkins的Python模块模块安装 pip: pip install python-jenkins easy_install: easy_install python-jenkins 使用: class jenkins_tools(): def __init__(self): cf = get_conf() self.username =

  • 基于Python的Jenkins的二次开发操作

    背景 最近我们在整一个云执行的平台,底层用的是Jenkins来做执行引擎,方便的把我们的脚本做一个统一的调度. Jenkins确实是一个非常方便的框架,它提供了一整套的RESTful的API,可以非常方便的做二次开发,而且提供了一个python的库,操作起来就更加方便了. 常用的Jenkins概念 我们在使用Jenkins的时候,一般看到的都是Jenkins的View. 也就是说我们看到的基本上都是一些视图. 每一个构建的内容,无论是执行用例,跑脚本,还是打包编译发布,都是一个job. 每一个j

  • Python-jenkins模块获取jobs的执行状态操作

    1 获取jobs的当前任务状态 server_1 = jenkins.Jenkins('http://%s:%s@192.168.37.134:8081/',username, password) 获取状态前先确认2019文件夹下的get_node_list任务是否存在: server_1.assert_job_exists('2019/get_node_list') 获取最后一次完成(不包括执行中的)的job任务执行number: server_1.get_job_info('2019/get

  • python jenkins 打包构建代码的示例代码

    python jenkins 打包构建代码 # pip install python-jenkins import jenkins import pprint import time # 在jenkins 的Configure Global Security下 , 取消"防止跨站点请求伪造(Prevent Cross Site Request Forgery exploits)"的勾选 server = jenkins.Jenkins('http://192.168.100.151:8

  • jenkins+python自动化测试持续集成教程

    一.首先我们安装Jenkins,我这里采用的是.msi应用程序,根据提示进行安装(傻瓜式),最后会打开默认的网页地址:http://localhost:8080 如果端口有冲突,可以去Jenkins的安装目录下的这个文件去改端口: 二.进入Jenkins的界面,会提示输入解锁密码,根据界面提示找对对应文件输入密钥即可. 三.选择推荐安装插件即可,两者都可以,看自己需要选择,选择后会进入插件安装页面,会需要一些时间,会因为网络等原因导致一些插件安装失败(国外服务器),不过后面可以再去装. 四.创建

  • 使用python-Jenkins批量创建及修改jobs操作

    1.使用jobsName.ini文件保存要创建job的名字 jobs1 jobs2 jobs3 2.使用Jenkins创建job时自动生成的config.xml文件为模板进行批量创建jobs或修改jobs,一般生成的job会在你安装的Jenkins目录下找到 3.脚本实现 import jenkins jobsOperation = input("请选择是新建jobs还是修改jobs:\na.创建jobs \nb.修改jobs \n") # 连接远程Jenkins server=jen

  • 基于python调用psutil模块过程解析

    这篇文章主要介绍了基于python调用psutils模块过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用Python来编写脚本简化日常的运维工作是Python的一个重要用途.在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等.要获取这些系统信息,Python可以通过subprocess模块调用并获取结果.但这样做显得很麻烦,尤其是要写很多解析代码. 在Python中获取系统信息的另一个好办法是

  • 基于Python实现GeoServer矢量文件批量发布

    目录 0. 前言 1. 环境 1.1 基础环境 1.2 谷歌浏览器驱动 2. 基本流程 2.1 初始化 2.2 登录 2.3 新建数据源 2.4 保存数据存储 2.5 发布图层 3. 完整代码 0. 前言 由于矢量图层文件较多,手动发布费时费力,python支持的关于geoserver包(geoserver-restconfig)又由于年久失修,无法在较新的geoserver版本中正常使用. 查阅了很多资料,参考了下面这篇博客,我简单写了一个自动化发布矢量文件的代码. 基本流程:获取指定文件夹下

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

    下载jenkins-cli.jar 登录jenkins页面,进入[系统管理]-[jenkins命令行接口],点击截图中内容即可下载jar包文件. 编写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:

  • 基于python对B站收藏夹按照视频发布时间进行排序的问题

    前言 在最一开始,我的B站收藏一直是存放在默认收藏夹中,但是随着视频收藏的越来越多,没有分类的视频放在一起,想在众多视频中找到想要的视频非常困难,因此就对收藏夹里面的视频进行了分类.但是分类之后紧接着又出现了一个新的问题:原来存放在默认收藏夹里面视频的相对顺序被打乱了--明明前几天刚收藏的视频却要翻很多很多页才能找到,因此有了这个程序. 程序的作用 因为我们看到的视频大部分都是通过推荐得到的,而推荐的视频大部分都是刚发布不久,因此大部分收藏的视频的顺序也基本是按照视频发布的顺序来的.那么通过程序

  • python调用jenkinsAPI构建jenkins,并传递参数的示例

    安装jenkins 安装jenkins很简单,可以用多种方式安装,这里知道的有: 在官网下载rpm包,手动安装,最费事 centos系统通过yum安装,ubuntu通过apt-get安装(不推荐,因为很多东西都使用了默认的) 直接下载官网上的war包 我这里直接用的下载war包 遇到的坑 在安装之前,公司的服务器上已经有一个版本的jekins在运行了,所有参数都已经被设置过了,所以,重新安装的版本,虽然文件夹,用户都和以前的版本不一样,但是每次jenkins页面都是直接跳转上个版本的,并不会进入

  • 基于python实现rpc远程过程调用

    目录 基于python实现RPC的demo 前言 一.主要内容 二.实现步骤 1. 进程间的通信 2. 异步回调实现思路 总结 基于python实现RPC的demo 这是一个远程过程调用(RPC)的实现demo,可以实现不同的python进程之间通信和互相调用函数,简单易用,易于扩展.更多功能也可进一步完善,本文介绍了该实现的主要思路. 前言 计划手撸一个rpc甚久了,在间歇性push自己下终于完成的差不多了.写这个demo的原因,1)是为了学习与思考下这部分主体功能和实现思路,2)是调包时可以

  • Python调用C语言的方法【基于ctypes模块】

    本文实例讲述了Python调用C语言的方法.分享给大家供大家参考,具体如下: Python中的ctypes模块可能是Python调用C方法中最简单的一种.ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文件,因此在调用时不需对源文件做任何的修改.也正是如此奠定了这种方法的简单性. 示例如下 实现两数求和的C代码,保存为add.c //sample C file to add 2 numbers - int and floats #include <stdio.h> int add

  • 基于Python组装jmx并调用JMeter实现压力测试

    JMeter可以通过os命令调用Python脚本,Python同样可以通过系统命令调用JMeter执行压测 Python调用JMeter 首先要安装JMeter,官方下载地址 解压并配置配置环境路径或建立软连,使得在命令输入jmeter便可以执行,如 unzip apache-jmeter-5.3.zip mv apache-jmeter-5.3 /usr/loca/jmeter ln -s /usr/local/jmeter/bin/jmeter /usr/bin/jmeter ln -s /

随机推荐