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 ...
随机推荐
- OpenFOAM——圆腔顶盖旋转驱流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL008: Flow Inside a Rotating Cavity 腔体顶盖以1 ...
- [Angular] ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'name' of undefined
在数据请求完成通过 ionViewDidLoad 展示页面的时候 报错误 : ERROR Error: Uncaught (in promise): TypeError: Cannot read pr ...
- Weblogic部署web项目获取项目根目录为null
写在前面 图片上传功能, web项目部署在本地Tomcat上并没有问题, 但是打成war包部署到Linux服务器Weblogic下却出现如题问题, 导致图片上传失败. 问题代码 String real ...
- String字符串与其他格式(int、boolean等八大数据类型)的相互转换
1.(String 转 int)String str = "123"; int a = Integer.parseInt(str);(int 转 String)int a = 5; ...
- Python实例100个(基于最新Python3.7版本)
Python3 100例 原题地址: http://www.runoob.com/python/python-100-examples.html git地址: https://gith ...
- FFMPEG Tips 如何提取码流的基本信息
原文连接: https://zhuanlan.zhihu.com/p/23448271 1. 码流中的哪些信息值得关注 ? [ ] 是否包含:音频.视频 [ ] 码流的封装格式 [ ] 视频的编码格式 ...
- 【Java】Spring之基于注释的容器配置(四)
注释是否比配置Spring的XML更好? 基于注释的配置的引入引发了这种方法是否比XML“更好”的问题.答案是每种方法都有其优点和缺点,通常,由开发人员决定哪种策略更适合他们.由于它们的定义方式,注释 ...
- 【449】backup get weekly tweets
import pandas as pd from datetime import datetime fn = r"D:\OneDrive - UNSW\tweets_flu.csv" ...
- [LeetCode] 217. Contains Duplicate 包含重复元素
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- 解决在manjaro下,vscode无法将chrome作为默认浏览器打开
Same issue. The solution is simple. Find the name of the exec command, for google chrome in arch lin ...