Exemple #1
0
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
Exemple #2
0
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()
Exemple #3
0
 def jobs(self):
     return Jobs(self)
Exemple #4
0
    def jobs(self):
        if self.jobs_container is None:
            self.jobs_container = Jobs(self)

        return self.jobs_container