jenkins轮询任务

from jenkins import Jenkins

# 判断job是否运行结束
def build():
    job = 'branch-deploy-wap'
    params = {
        'server_ip': '10.160.30.XXX',
        'server_username': 'root',
        'server_userpass': 'XXXXXX',
        'node_branch': 'master'
    }
    jenkins_server_url = 'http://jenkins.XXX.XX.ted:8080/'
    user_id = 'zhzhgo'
    api_token = '11e6d803fd4ab788626134de41344fd2dd'
    server = Jenkins(jenkins_server_url, username=user_id, password=api_token)
    queue_num = server.build_job(job, parameters=params)
    print(queue_num)
    ans = server.get_queue_item(queue_num)
    print(json.dumps(ans))
    start = time.time()
    isBuilding = True
    buildnum = -1
    status = 'FAILURE'
    try:
        while isBuilding:
            if ans != None and 'executable' in ans and 'number' in ans['executable']:
                buildnum = ans['executable']['number']
                while isBuilding:
                    time.sleep(5)
                    isBuilding = server.get_build_info(job, buildnum)['building']
            else:
                time.sleep(5)
                ans = server.get_queue_item(queue_num)
                print(json.dumps(ans))
        status = server.get_build_info(job, buildnum)['result']
    except Exception as e:
        print('getbuildinfo_resultexpt:'+str(e))
    # ans = {'buildnum': buildnum, 'status': status}
    end = time.time()
    print("time:", end-start, "buildstatus:", status)
    return status


# 运行job 
def jenkins_start(job, params):
    url = 'http://10.XXX.XX.XX:8080/'
    id = 'zhzhgo'
    token = "zhzhgo"
    server = Jenkins(url, username=id, password=token)
    server.build_job(job, parameters=params)
    return 'job is running, please wait for report.'


相关文章

基础环境、流程图1)流程图jenkinspipeline发布应用2)、jenki...
本节是建立在流水线入门内容的基础上,而且,应当被当作一个...
Linuxcentos7安装Jenkins(jenkins-2.227-1.1.noarch.rpm)时遇...
作为一个拥有很多账号的当代美少女,忘记用户名密码什么的是...
Jenkins、GitLab和Maven(Nexus)完成自动构建迈向持续集成持...
 下载文档https://www.jenkins.io/zh/download/  Debian下...