def addtask(username, jenkinsurl, jobname, specifynode, build_params): mysql = mysqlLib() url = None try: param = (username, jenkinsurl, jobname, json.dumps(build_params), 0) n, last_id = mysql.add_task(param) print(u"INFO, job initial, 0") unique_id = last_id if (specifynode == 1): J = Jenkins(jenkinsurl) jobs = Jobs(J) job = jobs[jobname] build_params['UNIQUE_ID'] = unique_id invoke = job.invoke(build_params=build_params) print("INFO, specifynode true") elif (specifynode == 0): client = gear.Client() client.addServer(gear_server, port=gear_port) client.waitForServer( ) # Wait for at least one server to be connected build_params['UNIQUE_ID'] = unique_id job = gear.Job('build:' + jobname, json.dumps(build_params)) client.submitJob(job) print("INFO, specifynode false") param = (1, unique_id) mysql.update_task_status(param) print(u"INFO, job submit, 1") print(u"INFO, job unique id :" + str(unique_id)) url = "http://10.48.55.39:8889/jobstatus/?job=" + str(unique_id) print(u"INFO, you could link " + url + " to trace the job status") except Exception as e: print(e) finally: mysql.close() return url
def addtask(jenkinsurl, jobname, build_params): mysql = mysqlLib() try: #任务初始化,0 param = (jenkinsurl, jobname, json.dumps(build_params), 0) n, last_id = mysql.add_task(param) print(u"#任务初始化,0") J = Jenkins(jenkinsurl) jobs = Jobs(J) job = jobs[jobname] invoke = job.invoke(build_params=build_params) '''is_queued = invoke.is_queued() while(is_queued is False): time.sleep(1) is_queued = invoke.is_queued() #任务排队中,1 param=(1, last_id) mysql.update_task_status(param) print(u"#任务排队,1") is_running = invoke.is_running() while(is_running is False): time.sleep(1) is_running = invoke.is_running() #任务执行中,2 param=(2, last_id) mysql.update_task_status(param) print(u"#任务执行,2")''' #更新任务 build_number build_number = invoke.get_build_number() param = (build_number, last_id) mysql.update_task_build_number(param) print build_number '''is_running = invoke.is_running() while(is_running is True): time.sleep(1) is_running = invoke.is_running() #任务执行完成,3 param=(3, last_id) mysql.update_task_status(param) print(u"#任务完成,3")''' except Exception as e: logging.ERROR(e) #任务执行异常,4 param = (4, last_id) mysql.update_task_status(param) print(u"#任务异常,4") finally: mysql.close()
def jobs(self): return Jobs(self)
def jobs(self): if self.jobs_container is None: self.jobs_container = Jobs(self) return self.jobs_container