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='[email protected]!23')
server.build_job('jxInstantQuery')
server.build_job('jxInstantQuery2', {'param1': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'param2': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'})

里面的执行shell:

最终的效果:

原文地址:https://www.cnblogs.com/goldenSky/p/10736392.html

时间: 2024-10-10 03:25:44

python调用jenkinsAPI构建jenkins,并传递参数的相关文章

python调用Ant构建时根据构建状态来决定命令行退出状态

在使用python执行Ant构建时遇到的问题: 使用os.system()调用Ant构建时,不论构建成功还是失败(BUILD SUCCESSFUL/BUILD FAILED),命令行的总是正常退出 要解决问题: 首先想到的是获取ant命令的返回值,根据返回值来决定命令行的退出状态(0或非0,0代表正常退出) 查阅相关资料,得知python调用系统命令的函数有:os.system.os.popen.commands.getstatusoutput/getstatus/getoutput.subpr

工作随笔——Java调用Groovy类的方法、传递参数和获取返回值

接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码如下: # TestGroovy.groovy 定义testC方法,传入3个参数,返回处理后的数据 def testC(int numA, int numB, int numC) { "传入参数:" + numA + numB + numC + "计算之和为:" + (

python 调用c函数

Python调用c 一个典型的Python扩展模块至少应该包含三个部分:导出函数.方法列表和初始化函数. 例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 example.c int fact(int n) {         if (n <= 1)         return 1;         else         return n * fact(n - 1); }

shell调用python脚本,并且向python脚本传递参数

1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main($canshu1, $canshu2) ..... main(sys.argv[1], sys.argv[2]) 2.使用shell调用python中的函数: python脚本如下: test.py: import ConfigParser config = ConfigParser.Config

windows下,python调用dll例子,展示如何传递字节码流参数到dll接口

工作上需要用python调用dll解析码流输出到文件,如何调用dll很多博客都有描述,请参考如下blog: 如何调用请参考: http://blog.csdn.net/lf8289/article/details/2322550 WinDLL和CDLL的选择,请参考: http://blog.csdn.net/jiangxuchen/article/details/8741613 传递自定义的结构,请参考: http://www.jb51.net/article/52513.htm 但是如何将一

Jenkins结合ant传递参数

需求: 使用Jenkins的「参数化构建过程」,由用户手动输入参数.通过ant脚本接收这个参数,并输出(当然,中间也可以进行复杂的处理,这里为了说明问题,仅做简单的输出). 1.基础环境 Jenkins1.509.4(现在Jenkins已经升级到2.x,版本差异不是很大) apache-ant-1.9.6 apache-tomcat-7.0.6(注:Jenkins放在tomcat中,可参考我写的 <Jenkins默认工作空间及更改默认工作空间> 一文) 前提是已经有jdk的支持并配置好了相关的

在Linux中利用命令行去传递参数给Python

: 今天在实验楼答题做挑战的时候,遇到个一点都没头绪的题目,链接:https://www.shiyanlou.com/courses/running,题目如上,因为之前没接触到这类型的题目,所以无法入手百度了一下,知道了原来有个sys.argv[]这样的东西用.要从Linux中利用命令行去传递参数给Python文件 1,要先导入系统接口模块import sys 2,再调用系统命令行参数sys.argv,这是一个列表. 索引为0的sys.argv[0]是当前文档的路径,这不是我们想要的.索引为1的

Jenkins启动另一个job并传递参数

jenkins 一个job启动另一job时并传递参数 1, 安装下面插件. Parameterized Trigger Plugin 2, 构建后 添加刚刚添加的插件 第一步添加插件 第一步添加自定义参数 3,添加的自定义参数,需要在另一个job构建前,添加参数化构建.(参数名和上一个job保持一致)然后可以在需要的地方引用 原文地址:https://www.cnblogs.com/trimphNuan/p/11822894.html

ESL python调用C模块时传递unicode字符串报错问题解决

在是用freeswitch时利用ESL的python调用时传递字符串报错 TypeError: in method 'ESLconnection_api', argument 2 of type 'char const *' 是由于python传递的字符串为unicode,在c语言char使用的ascii码方式在SWIG中做一下转换,代码如下 修改文件esl_wrap.cpp ##### /* for C or C++ function pointers *///添加定义#define SWIG