首页 > 其他分享 >jenkinsapi的基础用法

jenkinsapi的基础用法

时间:2023-06-09 19:13:54浏览次数:45  
标签:jenkinsapi 基础 running 用法 job 构建 jenkins Jenkins

前言:

想要用脚本或代码来触发Jenkins工程?

不妨看看这里~

模块安装

pip install jenkinsapi

或者

easy_install jenkinsapi

基础案例

from jenkinsapi.jenkins import Jenkins
jenkins = Jenkins(
    "http://*****.com:8080/",
    username="****",
    password="****",
    use_crumb=True
)
params = {'Operation': '1', 'Certificate': '2'}				#构建参数,可以通过各种方式获取
job = jenkins.get_job("【TEST】")								#获取目标工程
job_running = job.invoke(build_params=params)				#附加参数并启动工程
if job_running.is_queued() or job_running.is_running():		#判断当任务在排队中或者正在运行中...
    job_running.block_until_complete()						#会阻塞进程,直到工程结束
last_job = job.get_last_build()								#获取目标工程的最后一次构建
print(last_job.is_good())									#获取构建结果
print(last_job.get_console())								#获取构建console输出

字段说明

1.首先定义一个Jenkins对象,需要指定你的Jenkins地址,用户名及密码,use_crumb是用在Jenkins开启了跨域保护机制的时候,需要指定的参数,一般高版本的Jenkins会默认开启,且改起来不方便,也不安全,这里还是建议使用这种模式;

2.params是我Jenkins的构建参数,一般参数化构建的场景比较多,如果你是傻瓜式一键构建,这里就为空好了~

3.“【TEST】”是我Jenkins工程的名字

排障

1.console中文乱码问题

笔者在测试过程中,遇到过打印console乱码问题,进程查询,是这里源码中使用的字符集不对,所以我在本地做了微调,找到模块安装路径,下面有个build.py组件,修改第532行:

return content.decode("ISO-8859-1")
换成
return content.decode("utf8")

扩展

这里给出Jenkins官方以及模块的官方文档入口:

jenkinsapi模块文档:https://jenkinsapi.readthedocs.io/en/latest/build.html

jenkins公共接口文档:https://www.jenkins.io/doc/book/using/remote-access-api/

标签:jenkinsapi,基础,running,用法,job,构建,jenkins,Jenkins
From: https://www.cnblogs.com/storyawine/p/17470056.html

相关文章

  • 拥抱jsx,开启vue3用法的另一种选择
    ......
  • 关于前缀和的一些基础概念
    写在前面在数据结构和算法中,前缀和(PrefixSum)是一种常见的技术,用于快速计算数组或序列中某个位置之前的元素的和。除了常规的前缀和之外,还有一些常见的前缀和的变种前缀和的种类常规前缀和对于数组nums,前缀和prefixSum[i]表示从索引0到索引i(包括i)的元素的和。prefixSum[i]=......
  • CVS 用法总结(zz)
    这里有份CVS中文手册http://man.chinaunix.net/develop/cvsdoc_zh/index.html#Topcvs用法总结(1)--cvs命令格式,标志字符和环境cvs用法总结(1)--cvs命令格式读书笔记,中文名"版本控制之道-使用cvs",英文名"PragmaticVersionControl-UsingCVS"。以下内容......
  • 全网八股文面试高频题目--JAVA基础
    八股文--JAVA基础目录八股文--JAVA基础1.JDK、JRE、JVM有什么区别1.1Java为什么被称为平台无关性语言?2.常用数字类型的区别3.Float在JVM的表达方式及使用陷阱4.面向对象三个特性是什么4.1重载和重写的区别?4.2Java中是否可以重写一个private或者static方法?4.3构造方法有哪些......
  • 1-kafka介绍及基础架构
    1.kafka:高吞吐量的分布式发布订阅消息系统;1>同步变异步2>解耦3>削峰填谷 2.消息队列的两种工作模式: 保证到kafka中的消息被多个消费者消费,并且被相同消费者重复消费;  3.kafka集群形式 4.hash:消息的均匀分散,相同的key落入同一分区只有leader负责分区的读写......
  • python基础day22 time和re模块
    time模块(跟时间打交道的模块)表示时间的三种方式1.时间戳:1970年1月1日到现在的秒数2.格式化的时间字符串:2023-01-0111:11:113.结构化时间:它是让计算机看的 导入time模块imporetimetime.time()#时间戳time.sleep(3)#睡眠3秒python中时间日期格式化符号%y......
  • 算法基础(一):串匹配问题(BF,KMP算法)
    好家伙,学算法,这篇看完,如果没有学会KMP算法,麻烦给我点踩希望你能拿起纸和笔,一边阅读一边思考,看完这篇文章大概需要(20分钟的时间) 我们学这个算法是为了解决串匹配的问题那什么是串匹配?举个例子:我要在"彭于晏吴彦祖"这段字符串中找到"吴彦祖"字符串这就是串匹配......
  • Python基础之时间模块、随机模块
    时间模块time模块'''time模块是函数内置的模块可以直接拿来用的'''importtime#时间的3种格式1、时间戳:从1970年到现在经过的秒数 作用:用于时间间隔的计算print(time.time()) #1686229427.28574542、按照某种时间格式显示的时间:2023-06-0821:03:47strftime()......
  • java-基础安装-基础
    1.基本须知jdk我们的java源码程序是只能放在src的蓝色文件夹中,放在别的文件不起作用javac.exe文件javac是jdk中专门用来编译源码的文件java.exe文件启动jvm虚拟机*.class是编译后的字节码文件,一般放在idea项目中橘色的out文件夹中*.java是源码文件是源码文件......
  • P5518 [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题
    简要题意计算\[\prod_{i=1}^{A}\prod_{j=1}^{B}\prod_{k=1}^{C}\left(\frac{\text{lcm}(i,j)}{\gcd(i,k)}\right)^{f(type)}\]其中:\[\begin{aligned}f(0)&=1\crf(1)&=i\timesj\timesk\crf(2)&=\gcd(i,j,k)\end{aligned}\]\(T\)组数据,每......