예제 #1
0
 def start_ci_task(request, task_id, parameter_group_id, project_version):
     ci_task = CITask.objects.get(int(task_id))
     queuetask = TaskQueue()
     queuetask.EnqueueTime = DateTimeHelper.get_local_now()
     queuetask.TaskType = ci_task.TaskType
     queuetask.Command = TaskQueueCommandTypeEnum.TaskQueueCommandType_Start
     queuetask.Priority = 2
     queuetask.Status = TaskQueueStatusEnum.QueueTaskStatus_New
     queuetask.TaskID = int(task_id)
     queuetask.TaskUUID = uuid.uuid1()
     if parameter_group_id:
         queuetask.BuildParameterID = parameter_group_id
     else:
         queuetask.BuildParameterID = CITaskParameterService.default_parameter_group(
             int(task_id))
     queuetask.save()
     ci_task.BuildVersion = ci_task.BuildVersion + 1
     if str(project_version) == '0':
         project_version = VersionService.get_latest_version(
             ci_task.Project)
         if project_version:
             project_version = project_version.id
         else:
             project_version = 0
     ci_task.LastHistory = CITaskService.save_ci_taskhistory(
         request, queuetask, ci_task, project_version)
     ci_task.save(update_fields=['BuildVersion', 'LastHistory'])
     message = "任务ID为:" + str(task_id) + "的执行指令已经下发,请耐心等待。"
     user_id = 0
     if request.user.id:
         user_id = request.user.id
     CITaskService.log_build_activity(user_id, ci_task)
     CITaskService.send_task_enqueue_message()
     return [queuetask.id, message, queuetask.TaskUUID]
예제 #2
0
 def get_latest_version(self, project_id):
     result = '--'
     latest_version = VersionService.get_latest_version(project_id)
     if latest_version:
         result = latest_version.id
     return result
예제 #3
0
 def get_project_latest_version(project_id):
     result = 0
     version = VersionService.get_latest_version(project_id)
     if version:
         result = version.id
     return result
예제 #4
0
 def lastest_version(self):
     result = "--"
     version = VersionService.get_latest_version(self.project.id)
     if version:
         result = version.VVersion
     return result