python调用jenkinsAPI构建jenkins,并传递参数
安装jenkins
安装jenkins很简单,可以用多种方式安装,这里知道的有:
- 在官网下载rpm包,手动安装,最费事
- centos系统通过yum安装,ubuntu通过apt-get安装(不推荐,因为很多东西都使用了默认的)
- 直接下载官网上的war包:wget http://ftp-chi.osuosl.org/pub/jenkins/war-stable/2.164.2/jenkins.war
我这里直接用的下载war包
遇到的坑
在安装之前,公司的服务器上已经有一个版本的jekins在运行了,所有参数都已经被设置过了,所以,重新安装的版本,虽然文件夹,用户都和以前的版本不一样,但是每次jenkins页面都是直接跳转上个版本的,并不会进入首次激活jenkins的界面
原因是:公司的服务器上配置了JENKINS_HOME,但是jenkins在启动的时候,会首先获取JENKINS_HOME,并读取文件夹内的配置信息。
解决办法:这里取了个巧,在每次启动jenkins的时候,手动指定JENKINS_HOME=/data/jenkins2,这样就不会读取上个版本的信息了
通过pythonAPI实现参数化jenkins构建
这里要实现的场景是,通过前端的页面,选择相应的下拉框,传递参数到后台jenkins,然后jenkins获取相应的参数,计算以这些参数为条件的数据。
创建jenkins项目
这里创建的项目需要添加param

需要几个参数,就添加几个参数
安装python-jenkins
sudo pip install python-jenkins
直接上代码:
import jenkins
server = jenkins.Jenkins('http://192.168.59.149:28080', username='jenkins', password='jenkins@!23')
server.build_job('jxInstantQuery')
server.build_job('jxInstantQuery2', {'param1': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'param2': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'})
里面的执行shell:

最终的效果:

python调用jenkinsAPI构建jenkins,并传递参数的更多相关文章
- python调用jenkinsapi
在通过python 调用jenkinsapi的时候,需要对一些作业进行定时对构建 报错: <title>Error 403 No valid crumb was included in t ...
- VB脚本调用exe应用程序并传递参数
VB脚本调用应用程序,并传递参数给exe应用程序: Private Sub CommandButton1_Click() Dim a a = Shell("D:\\ExperimentLin ...
- 1.3 Python基础知识 - 用户交互及传递参数
一.用户交互 用户交互方面,每种开发语言都有不同的方式,例如shell语言用的是,“read -p "What is your name ? " ”.python中是什么样子的呢 ...
- settimeout如何调用方法的时候,传递参数
常见写法: setTimeout("loaded()", 200); 延迟加载loaded方法 如果要给loaded方法传递参数 setTimeout(function () { ...
- awk 调用 shell 命令,并传递参数
from:awk 调用 shell 命令的两种方法:system 与 print shell 向awk传递命令,这样使用即可: awk -v ... 但反过来呢?awk调用外部命令,同时也传参呢? ...
- 工作随笔——Java调用Groovy类的方法、传递参数和获取返回值
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码 ...
- java调用python程序以及向python程序传递参数
在做项目的时候,经常会碰到这个问题,主要程序是用java写的,有些功能使用python写的,整个项目需要把java代码和python代码进行整合,在一个项目里面运行,这就涉及到java调用python ...
- java调用python脚本并向python脚本传递参数
1.安装Eclipse 先安装jdk,再安装Eclipse,成功后开始建立py_java项目,在这个项目的存储目录SRC下建立test包,在test包中New-Class,新建MyDemo类,建好完成 ...
- shell调用python脚本,并且向python脚本传递参数
1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main ...
随机推荐
- 重新学习MySQL数据库12:从实践sql语句优化开始
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/79394168 本文不堆叠网上海量的sql优化技巧或 ...
- SpringCloud Feign通过FallbackFactory显示异常信息
SpringCloud Feign可以进行服务消费,而且内置了Hystrix,能够进行熔断. Feign可以通过fallback指定熔断回调的类.代码示例及讲解可见: https://www.cnbl ...
- RocketMQ官方启动脚本不支持jdk11的修改
以rocketmq4.5.0为例 主要涉及classpath和启动配置. nameserver: vim /opt/rocketmq/bin/runserver.sh 删除 -XX:+UseConcM ...
- Java12新特性 -- 只保留一个 AArch64 实现
现状 当前 Java 11 及之前版本JDK中存在两个64位ARM端口.这些文件的主要来源位于src/hotspot/cpu/arm 和 open/src/hotspot/cpu/aarch64 目录 ...
- Pytorch 类别平衡化处理
采用 WeightedRandomSampler: def make_weights_for_balanced_classes(images, nclasses): count = [0] * nc ...
- Linux故障排查之CPU占用率过高
有时候我们可能会遇到CPU一直占用过高的情况.之前我的做法是,直接查找到相关的进程,然后杀死或重启即可.这个方法对于一般的应用问题还不大,但是要是是重要的环境的话,可万万使不得. 如果是重要的环境,那 ...
- [LeetCode] 1. Two Sum 两数和
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- 【Python学习之一】Python安装、IDE安装配置
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python2.X python3.X 所谓安装Python,安装的是 ...
- Python微服务实践-集成Consul配置中心
A litmus test for whether an app has all config correctly factored out of the code is whether the co ...
- Linq调试实时输出信息扩展方法(摘抄)
原文在此 [译]如何在C#中调试LINQ查询 原linq语句: var res = employees .Where(e => e.Gender == "Male") .Ta ...