def save_basic_section(basic_section, ci_task):
        print(basic_section)
        SimpleLogger.info(basic_section)
        parameter_map = basic_section[0].get('parameter')
        for item in parameter_map:
            if item.get('name') == "Description":
                ci_task.Description = item.get('value')
            if item.get('name') == "ci_task_project":
                ci_task.Project = item.get('value')
            if item.get('name') == "TaskName":
                ci_task.TaskName = item.get('value')
            if item.get('name') == "DeployService":
                ci_task.DeployService = item.get('value')

            if item.get('name') == "HistoryCleanStrategy":
                ci_task.HistoryCleanStrategy = item.get('value')

            if item.get('name') == "time_trigger":
                if CITaskConfigService.get_parameter_value(
                        parameter_map, 'ci_task_trigger') == 'on':
                    ci_task.Schedule = item.get('value')
                else:
                    ci_task.Schedule = None
        ci_task.save()
        ci_task_config = CITaskConfigService.get_ci_task_config(
            ci_task.TaskConfig)
        ci_task_config['basic_section']['plugins'] = basic_section
        CITaskConfig.objects.save(ci_task_config)
Example #2
0
 def run(self):
     while True:
         time.sleep(5)
         if not self.thread_stop:
             SimpleLogger.info("igat_driver")
         else:
             break
Example #3
0
 def get_svncommand(self, command, startversion, endversion):
     commandtext = command.replace("{STARTVERSION}", startversion)
     commandtext = commandtext.replace("{ENDVERSION}", endversion)
     commandtext = commandtext.replace("{URL}", self.url)
     commandtext = commandtext.replace("{USER}", self.user)
     commandtext = commandtext.replace("{PASSWORD}", self.passwd)
     SimpleLogger.info(commandtext + self.templog +
                       SvnHelper.local_svn_dir +
                       SvnHelper.no_store_password)
     return commandtext + self.templog + SvnHelper.local_svn_dir + SvnHelper.no_store_password
Example #4
0
 def handle(self):
     '''
     socket server 处理接收到的请求。
                         首先读取请求内容,然后查找匹配的处理器,最后调用处理发送返回值
     '''
     SimpleLogger.info("in socket handler")
     controller_message = self.reciveRequest()
     self.send_return_value(controller_message)
     self.process_request(controller_message)
     SimpleLogger.info("finised socket process")
Example #5
0
 def stop(self, controller_message):
     driver_pool = DriverPool()
     if controller_message.task_command != TQCommand.Value("STOP"):
         return
     else:
         SimpleLogger.info("Stop job, the job uuid  is:[" +
                           controller_message.task_uuid + "]")
         if driver_pool.has_value(controller_message.task_uuid):
             driver_pool.get_value(controller_message.task_uuid).stop()
             driver_pool.clear(controller_message.task_uuid)
         else:
             raise Exception("no running job found  with uuid " +
                             controller_message.task_uuid)
Example #6
0
 def start(self, controller_message):
     driver_pool = DriverPool()
     if controller_message.task_command != TQCommand.Value("START"):
         return
     else:
         SimpleLogger.info("Start job, the job uuid  is:[" +
                           controller_message.task_uuid + "]")
         if not driver_pool.has_value(controller_message.task_uuid):
             request_driver = BusinessDriverLoader.get_driver_instance(
                 controller_message)
             if request_driver:
                 request_driver.start()
                 driver_pool.put_value(controller_message.task_uuid,
                                       request_driver)
             else:
                 raise Exception("can not find driver with driver key " +
                                 controller_message.driver_key)
         else:
             raise Exception("the job with uuid " +
                             controller_message.task_uuid + "is running!")
Example #7
0
 def send_return_value(self, controller_message):
     '''
                      发送返回值
     '''
     SimpleLogger.info("start send return value to  controller")
     try:
         agent_message = Agent()
         agent_message.task_id = controller_message.task_id
         agent_message.task_uuid = controller_message.task_uuid
         agent_message.result = TaskResult.Value("SUCCESS")
         agent_message.message = "recive task successfully!"
         if controller_message == None:
             agent_message.task_result = TaskResult.Value("FAIL")
             agent_message.message = "recive task fail!"
         return_value = agent_message.SerializeToString()
         self.wfile.write(return_value)
     except Exception as ex:
         SimpleLogger.info(
             "send value to controller fail and error message is:" +
             str(ex))
         SimpleLogger.error(ex)
    def save_task_config(request, ci_task):
        config_section_dict = eval(request.POST.get('section'))
        SimpleLogger.info(config_section_dict)
        if config_section_dict.__contains__("basic_section"):
            CITaskConfigService.save_basic_section(
                config_section_dict.get('basic_section'), ci_task)

        if config_section_dict.__contains__("pre_section"):
            CITaskConfigService.save_pre_section(
                config_section_dict.get('pre_section'), ci_task.TaskConfig)

        if config_section_dict.__contains__("scm_section"):
            CITaskConfigService.save_scm_section(
                config_section_dict.get('scm_section'), ci_task.TaskConfig)

        if config_section_dict.__contains__("build_section"):
            CITaskConfigService.save_build_section(
                config_section_dict.get('build_section'), ci_task.TaskConfig)

        if config_section_dict.__contains__("post_section"):
            CITaskConfigService.save_post_section(
                config_section_dict.get('post_section'), ci_task.TaskConfig)
Example #9
0
 def process_request(self, controller_message):
     SimpleLogger.info("Start processing job. the job uuid  is:[" +
                       controller_message.task_uuid + "]")
     try:
         self.start(controller_message)
         self.stop(controller_message)
     except Exception as ex:
         SimpleLogger.info("Process job fail  the job uuid  is:[" +
                           controller_message.task_uuid + "]")
         SimpleLogger.info("Error:" + str(ex))
         SimpleLogger.error(ex)
Example #10
0
 def reciveRequest(self):
     '''
                      获取请求内容
     '''
     SimpleLogger.info("start recive data from controller")
     controller_message = None
     try:
         data = self.rfile.read1(1024)
         controller_message = Controller()
         controller_message.ParseFromString(data)
         SimpleLogger.info(
             "recive job from controller. the job uuid  is:[" +
             str(controller_message.task_uuid) + "]")
     except Exception as ex:
         SimpleLogger.info(
             "recive data from controller fail and error message is:" +
             str(ex))
         SimpleLogger.error(ex)
     return controller_message
Example #11
0
 def stop(self):
     self.thread_stop = True
     SimpleLogger.info("stop thread")
 def save_scm_section(scm_section, config_id):
     ci_task_config = CITaskConfigService.get_ci_task_config(config_id)
     ci_task_config['scm_section']['plugins'] = scm_section
     SimpleLogger.info("++++++++++++++++++++++++++++++++++++++++")
     SimpleLogger.info(scm_section)
     CITaskConfig.objects.save(ci_task_config)
Example #13
0
#coding=utf-8
'''
Created on 2016-3-10

@author: zhangtiande
'''

from gatesidelib.socket_helper.socket_server import SocketServer
from agent.request_handlers.socket_handler import SocketHandler
from agent.globalconfig import GlobalConfig
from gatesidelib.common.simplelogger import SimpleLogger
from agent.request_handlers.driver_pool import DriverPool

if __name__ == '__main__':
    host = GlobalConfig.SERVERHOST
    port = GlobalConfig.DEFAULTSERVERPORT
    SimpleLogger.info("start server [" + host + "] with port[" + str(port) +
                      "]")
    try:
        driver_pool = DriverPool()
        tcp_server = SocketServer.get_default_server(host, port, SocketHandler)
        SocketServer.start_server(tcp_server)
    except Exception as ex:
        SimpleLogger.info("start server [" + host + "] with port[" +
                          str(port) + "] fail")
        SimpleLogger.error(str(ex))