feat: 流水线模块初始化
This commit is contained in:
+1
@@ -20,4 +20,5 @@ public interface PipelineConst {
|
|||||||
String INSTANCE_NODE_CODE_KEY = "pipelineInstanceNodeCode";
|
String INSTANCE_NODE_CODE_KEY = "pipelineInstanceNodeCode";
|
||||||
String INSTANCE_NODE_NAME_KEY = "pipelineInstanceNodeName";
|
String INSTANCE_NODE_NAME_KEY = "pipelineInstanceNodeName";
|
||||||
String INSTANCE_NODE_TEMPLATE_ARGS_KEY = "pipelineInstanceNodeTemplateArgs";
|
String INSTANCE_NODE_TEMPLATE_ARGS_KEY = "pipelineInstanceNodeTemplateArgs";
|
||||||
|
String INSTANCE_RETRY_NODE_INDEX_KEY = "pipelineInstanceRetryNodeIndex";
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -26,6 +26,11 @@ public interface PipelineNodeBizCodeConst {
|
|||||||
*/
|
*/
|
||||||
String DEPLOY_APPROVE = PipelineConst.EXECUTOR_PREFIX + "node_deploy_approve";
|
String DEPLOY_APPROVE = PipelineConst.EXECUTOR_PREFIX + "node_deploy_approve";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合并确认
|
||||||
|
*/
|
||||||
|
String MERGE_CONFIRM = PipelineConst.EXECUTOR_PREFIX + "node_merge_confirm";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合并到Master
|
* 合并到Master
|
||||||
*/
|
*/
|
||||||
|
|||||||
+34
@@ -0,0 +1,34 @@
|
|||||||
|
package cn.odboy.devops.constant.pipeline;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流水线类型
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum PipelineTypeEnum {
|
||||||
|
BACKEND("backend", "后端"),
|
||||||
|
FRONT("front", "前端"),
|
||||||
|
MOBILE("mobile", "移动端"),
|
||||||
|
ANDROID("pc", "PC端"),
|
||||||
|
UN_SUPPORT("un_support", "不支持的类型");
|
||||||
|
/**
|
||||||
|
* 类型编码
|
||||||
|
*/
|
||||||
|
private final String code;
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
public static PipelineTypeEnum getByCode(String code) {
|
||||||
|
for (PipelineTypeEnum value : PipelineTypeEnum.values()) {
|
||||||
|
if (value.getCode().equals(code)) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return UN_SUPPORT;
|
||||||
|
}
|
||||||
|
}
|
||||||
+23
-24
@@ -1,7 +1,9 @@
|
|||||||
package cn.odboy.devops.dal.dataobject.pipeline;
|
package cn.odboy.devops.dal.dataobject.pipeline;
|
||||||
|
|
||||||
import cn.odboy.base.CsObject;
|
import cn.odboy.base.CsObject;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@@ -23,7 +25,13 @@ import java.util.Date;
|
|||||||
@TableName("pipeline_instance_node_detail")
|
@TableName("pipeline_instance_node_detail")
|
||||||
@ApiModel(value = "PipelineInstanceNodeDetail对象", description = "流水线实例节点明细")
|
@ApiModel(value = "PipelineInstanceNodeDetail对象", description = "流水线实例节点明细")
|
||||||
public class PipelineInstanceNodeDetailTb extends CsObject {
|
public class PipelineInstanceNodeDetailTb extends CsObject {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("id")
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
|
||||||
|
private Long id;
|
||||||
/**
|
/**
|
||||||
* 流水线实例id
|
* 流水线实例id
|
||||||
*/
|
*/
|
||||||
@@ -38,45 +46,36 @@ public class PipelineInstanceNodeDetailTb extends CsObject {
|
|||||||
@TableField("start_time")
|
@TableField("start_time")
|
||||||
private Date startTime;
|
private Date startTime;
|
||||||
|
|
||||||
/**
|
|
||||||
* 结束时间
|
|
||||||
*/
|
|
||||||
@ApiModelProperty("结束时间")
|
|
||||||
@TableField("finish_time")
|
|
||||||
private Date finishTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 节点状态
|
|
||||||
*/
|
|
||||||
@TableField("`status`")
|
|
||||||
@ApiModelProperty("节点状态")
|
|
||||||
private String status;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 节点索引
|
* 节点索引
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("节点索引")
|
@ApiModelProperty("节点索引")
|
||||||
@TableField("node_index")
|
@TableField("node_index")
|
||||||
private Integer nodeIndex;
|
private Integer nodeIndex;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 节点编码
|
* 节点编码
|
||||||
*/
|
*/
|
||||||
@TableField("node_code")
|
|
||||||
@ApiModelProperty("节点编码")
|
@ApiModelProperty("节点编码")
|
||||||
|
@TableField("node_code")
|
||||||
private String nodeCode;
|
private String nodeCode;
|
||||||
|
/**
|
||||||
|
* 步骤描述
|
||||||
|
*/
|
||||||
|
@TableField("step_name")
|
||||||
|
@ApiModelProperty("步骤描述")
|
||||||
|
private String stepName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 节点描述
|
* 步骤状态
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("节点描述")
|
@ApiModelProperty("步骤状态")
|
||||||
@TableField("node_description")
|
@TableField("step_status")
|
||||||
private String nodeDescription;
|
private String stepStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 输入参数
|
* 异常明细
|
||||||
*/
|
*/
|
||||||
@TableField("`context`")
|
@ApiModelProperty("异常明细")
|
||||||
@ApiModelProperty("输入参数")
|
@TableField("step_msg")
|
||||||
private String context;
|
private String stepMsg;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -43,7 +43,7 @@ public class PipelineInstanceTb extends CsObject{
|
|||||||
*/
|
*/
|
||||||
@ApiModelProperty("流水线实例id")
|
@ApiModelProperty("流水线实例id")
|
||||||
@TableField("pipeline_instance_id")
|
@TableField("pipeline_instance_id")
|
||||||
private String pipelineInstanceId;
|
private Long pipelineInstanceId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
|
|||||||
+3
@@ -3,6 +3,7 @@ package cn.odboy.devops.dal.mysql.pipeline;
|
|||||||
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -14,5 +15,7 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface PipelineInstanceMapper extends BaseMapper<PipelineInstanceTb> {
|
public interface PipelineInstanceMapper extends BaseMapper<PipelineInstanceTb> {
|
||||||
|
void updateStatusByInstanceId(@Param("status") String status, @Param("pipelineInstanceId") long pipelineInstanceId);
|
||||||
|
|
||||||
|
void updateCurrentNodeByInstanceId(@Param("code") String code, @Param("status") String status, @Param("pipelineInstanceId") long pipelineInstanceId);
|
||||||
}
|
}
|
||||||
|
|||||||
-70
@@ -1,70 +0,0 @@
|
|||||||
package cn.odboy.devops.framework.pipeline;
|
|
||||||
|
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
|
||||||
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
|
||||||
import cn.odboy.util.CsJsonUtil;
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.quartz.JobDataMap;
|
|
||||||
import org.quartz.JobExecutionContext;
|
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
||||||
import org.springframework.scheduling.quartz.QuartzJobBean;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.Future;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
public class PipelineJobBean extends QuartzJobBean {
|
|
||||||
private final ThreadPoolTaskExecutor executor = SpringBeanHolder.getBean("pipelineAsync");
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void executeInternal(JobExecutionContext context) {
|
|
||||||
JobDataMap mergedJobDataMap = context.getMergedJobDataMap();
|
|
||||||
// 实例、节点明细
|
|
||||||
PipelineInstanceService pipelineInstanceService = SpringBeanHolder.getBean(PipelineInstanceService.class);
|
|
||||||
PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService = SpringBeanHolder.getBean(PipelineInstanceNodeDetailService.class);
|
|
||||||
// 获取流水线实例
|
|
||||||
String pipelineInstanceId = mergedJobDataMap.getString(PipelineConst.INSTANCE_ID_KEY);
|
|
||||||
PipelineInstanceTb pipelineInstance = pipelineInstanceService.getPipelineInstance(pipelineInstanceId);
|
|
||||||
if (pipelineInstance == null) {
|
|
||||||
log.info("流水线实例不存在, instanceId={}", pipelineInstanceId);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String pipelineTemplate = pipelineInstance.getPipelineTemplate();
|
|
||||||
// 流水线节点模板
|
|
||||||
List<PipelineNodeTemplateVo> pipelineNodeTemplateVos = JSON.parseArray(pipelineTemplate, PipelineNodeTemplateVo.class);
|
|
||||||
// 流水线上下文参数
|
|
||||||
Map<String, Object> contextArgs = CsJsonUtil.toMap(pipelineInstance.getContext(), String.class, Object.class);
|
|
||||||
// 放置额外的参数
|
|
||||||
contextArgs.put(PipelineConst.INSTANCE_KEY, pipelineInstance);
|
|
||||||
// 执行节点任务
|
|
||||||
for (int i = 0; i < pipelineNodeTemplateVos.size(); i++) {
|
|
||||||
PipelineNodeTemplateVo pipelineNodeTemplateVo = pipelineNodeTemplateVos.get(i);
|
|
||||||
String code = pipelineNodeTemplateVo.getCode();
|
|
||||||
contextArgs.put(PipelineConst.INSTANCE_NODE_INDEX_KEY, i);
|
|
||||||
contextArgs.put(PipelineConst.INSTANCE_NODE_CODE_KEY, code);
|
|
||||||
contextArgs.put(PipelineConst.INSTANCE_NODE_NAME_KEY, pipelineNodeTemplateVo.getName());
|
|
||||||
contextArgs.put(PipelineConst.INSTANCE_NODE_TEMPLATE_ARGS_KEY, pipelineNodeTemplateVo.getParameters());
|
|
||||||
try {
|
|
||||||
List<String> allServiceBeanName = SpringBeanHolder.getAllServiceBeanName();
|
|
||||||
System.err.println(allServiceBeanName);
|
|
||||||
PipelineNodeJobRunnable pipelineNodeJobRunnable = new PipelineNodeJobRunnable(
|
|
||||||
PipelineConst.EXECUTOR_PREFIX + code,
|
|
||||||
contextArgs,
|
|
||||||
pipelineInstanceNodeDetailService
|
|
||||||
);
|
|
||||||
Future<?> future = executor.submit(pipelineNodeJobRunnable);
|
|
||||||
PipelineNodeJobExecuteResult executeResult = (PipelineNodeJobExecuteResult) future.get();
|
|
||||||
System.err.println(executeResult);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("流水线节点任务执行失败", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
package cn.odboy.devops.framework.pipeline.core;
|
||||||
|
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.framework.context.SpringBeanHolder;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
|
import org.springframework.scheduling.quartz.QuartzJobBean;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class PipelineJobBean extends QuartzJobBean {
|
||||||
|
private final ThreadPoolTaskExecutor executor = SpringBeanHolder.getBean("pipelineAsync");
|
||||||
|
private final PipelineInstanceService pipelineInstanceService = SpringBeanHolder.getBean(PipelineInstanceService.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executeInternal(JobExecutionContext context) {
|
||||||
|
pipelineInstanceService.startPipeline(executor, context);
|
||||||
|
}
|
||||||
|
}
|
||||||
+6
-5
@@ -1,8 +1,8 @@
|
|||||||
package cn.odboy.devops.framework.pipeline;
|
package cn.odboy.devops.framework.pipeline.core;
|
||||||
|
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
|
||||||
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.quartz.*;
|
import org.quartz.*;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -12,6 +12,7 @@ import javax.annotation.Resource;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class PipelineJobManage {
|
public class PipelineJobManage {
|
||||||
|
private static final String JOB_KEY = "PIPELINE_JOB_";
|
||||||
@Resource
|
@Resource
|
||||||
private Scheduler scheduler;
|
private Scheduler scheduler;
|
||||||
|
|
||||||
@@ -23,11 +24,11 @@ public class PipelineJobManage {
|
|||||||
// 构建 JobDetail
|
// 构建 JobDetail
|
||||||
JobDetail jobDetail = JobBuilder
|
JobDetail jobDetail = JobBuilder
|
||||||
.newJob(PipelineJobBean.class)
|
.newJob(PipelineJobBean.class)
|
||||||
.withIdentity(pipelineInstance.getPipelineInstanceId())
|
.withIdentity(JOB_KEY + pipelineInstance.getPipelineInstanceId())
|
||||||
.build();
|
.build();
|
||||||
// 构建Trigger
|
// 构建Trigger
|
||||||
Trigger cronTrigger = TriggerBuilder.newTrigger()
|
Trigger cronTrigger = TriggerBuilder.newTrigger()
|
||||||
.withIdentity(pipelineInstance.getPipelineInstanceId())
|
.withIdentity(JOB_KEY + pipelineInstance.getPipelineInstanceId())
|
||||||
.startNow()
|
.startNow()
|
||||||
.build();
|
.build();
|
||||||
// 添加流水线实例
|
// 添加流水线实例
|
||||||
@@ -48,7 +49,7 @@ public class PipelineJobManage {
|
|||||||
*/
|
*/
|
||||||
public void deleteJob(PipelineInstanceTb pipelineInstance) {
|
public void deleteJob(PipelineInstanceTb pipelineInstance) {
|
||||||
try {
|
try {
|
||||||
JobKey jobKey = JobKey.jobKey(pipelineInstance.getPipelineInstanceId());
|
JobKey jobKey = JobKey.jobKey(JOB_KEY + pipelineInstance.getPipelineInstanceId());
|
||||||
scheduler.pauseJob(jobKey);
|
scheduler.pauseJob(jobKey);
|
||||||
scheduler.deleteJob(jobKey);
|
scheduler.deleteJob(jobKey);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
+3
-4
@@ -1,11 +1,10 @@
|
|||||||
package cn.odboy.devops.framework.pipeline;
|
package cn.odboy.devops.framework.pipeline.core;
|
||||||
|
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface PipelineNodeJobExecutor {
|
public interface PipelineNodeJobExecutor {
|
||||||
PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException;
|
PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException;
|
||||||
}
|
}
|
||||||
+4
-7
@@ -1,7 +1,6 @@
|
|||||||
package cn.odboy.devops.framework.pipeline;
|
package cn.odboy.devops.framework.pipeline.core;
|
||||||
|
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.SpringBeanHolder;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -10,20 +9,18 @@ import java.util.concurrent.Callable;
|
|||||||
public class PipelineNodeJobRunnable implements Callable<Object> {
|
public class PipelineNodeJobRunnable implements Callable<Object> {
|
||||||
private final PipelineNodeJobExecutor target;
|
private final PipelineNodeJobExecutor target;
|
||||||
private final Map<String, Object> params;
|
private final Map<String, Object> params;
|
||||||
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
|
||||||
|
|
||||||
public PipelineNodeJobRunnable(String beanName, Map<String, Object> params, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) {
|
public PipelineNodeJobRunnable(String beanName, Map<String, Object> params) {
|
||||||
this.target = SpringBeanHolder.getBean(beanName);
|
this.target = SpringBeanHolder.getBean(beanName);
|
||||||
this.params = params;
|
this.params = params;
|
||||||
this.pipelineInstanceNodeDetailService = pipelineInstanceNodeDetailService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings({"unchecked", "all"})
|
@SuppressWarnings({"unchecked", "all"})
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
if (this.params == null) {
|
if (this.params == null) {
|
||||||
return this.target.execute(new HashMap<>(1), this.pipelineInstanceNodeDetailService);
|
return this.target.execute(new HashMap<>(1));
|
||||||
}
|
}
|
||||||
return this.target.execute(this.params, this.pipelineInstanceNodeDetailService);
|
return this.target.execute(this.params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+14
@@ -18,10 +18,24 @@ public class PipelineNodeJobExecuteResult extends CsObject {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static PipelineNodeJobExecuteResult success(String message) {
|
||||||
|
PipelineNodeJobExecuteResult result = new PipelineNodeJobExecuteResult();
|
||||||
|
result.setStatus(PipelineStatusEnum.SUCCESS);
|
||||||
|
result.setMessage(message);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public static PipelineNodeJobExecuteResult fail() {
|
public static PipelineNodeJobExecuteResult fail() {
|
||||||
PipelineNodeJobExecuteResult result = new PipelineNodeJobExecuteResult();
|
PipelineNodeJobExecuteResult result = new PipelineNodeJobExecuteResult();
|
||||||
result.setStatus(PipelineStatusEnum.FAIL);
|
result.setStatus(PipelineStatusEnum.FAIL);
|
||||||
result.setMessage(PipelineStatusEnum.FAIL.getDesc());
|
result.setMessage(PipelineStatusEnum.FAIL.getDesc());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static PipelineNodeJobExecuteResult fail(String message) {
|
||||||
|
PipelineNodeJobExecuteResult result = new PipelineNodeJobExecuteResult();
|
||||||
|
result.setStatus(PipelineStatusEnum.FAIL);
|
||||||
|
result.setMessage(message);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-13
@@ -4,6 +4,9 @@ import cn.odboy.base.CsObject;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流水线节点控制按钮
|
* 流水线节点控制按钮
|
||||||
*
|
*
|
||||||
@@ -21,19 +24,11 @@ public class PipelineNodeTemplateButtonVo extends CsObject {
|
|||||||
*/
|
*/
|
||||||
private String title;
|
private String title;
|
||||||
/**
|
/**
|
||||||
* 出现的条件,根据node节点的状态判断
|
* 按钮传递的参数
|
||||||
*/
|
|
||||||
private String condition;
|
|
||||||
/**
|
|
||||||
* link: 按钮跳转的url
|
|
||||||
*/
|
|
||||||
private String linkUrl;
|
|
||||||
/**
|
|
||||||
* link: 是否新窗口打开
|
|
||||||
*/
|
|
||||||
private boolean isBlank = true;
|
|
||||||
/**
|
|
||||||
* service: 服务编码
|
|
||||||
*/
|
*/
|
||||||
private String code;
|
private String code;
|
||||||
|
/**
|
||||||
|
* 按钮样式参数
|
||||||
|
*/
|
||||||
|
private Map<String, String> parameters = new HashMap<>();
|
||||||
}
|
}
|
||||||
+7
-3
@@ -21,6 +21,10 @@ public class PipelineNodeTemplateVo extends CsObject {
|
|||||||
* 业务编码
|
* 业务编码
|
||||||
*/
|
*/
|
||||||
private String code;
|
private String code;
|
||||||
|
/**
|
||||||
|
* 业务类型(service:系统内置服务 rpc:远程调用)
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
/**
|
/**
|
||||||
* 业务名称
|
* 业务名称
|
||||||
*/
|
*/
|
||||||
@@ -28,15 +32,15 @@ public class PipelineNodeTemplateVo extends CsObject {
|
|||||||
/**
|
/**
|
||||||
* 是否可点击
|
* 是否可点击
|
||||||
*/
|
*/
|
||||||
private Boolean click;
|
private Boolean click = false;
|
||||||
/**
|
/**
|
||||||
* 是否可重试
|
* 是否可重试
|
||||||
*/
|
*/
|
||||||
private Boolean retry;
|
private Boolean retry = false;
|
||||||
/**
|
/**
|
||||||
* 是否可点击:点击展示详情,详情内容类型
|
* 是否可点击:点击展示详情,详情内容类型
|
||||||
*/
|
*/
|
||||||
private String detailType;
|
private String detailType = "";
|
||||||
/**
|
/**
|
||||||
* 默认参数
|
* 默认参数
|
||||||
*/
|
*/
|
||||||
|
|||||||
+47
-2
@@ -1,19 +1,64 @@
|
|||||||
package cn.odboy.devops.job;
|
package cn.odboy.devops.job;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.INIT)
|
@Service(value = PipelineNodeBizCodeConst.INIT)
|
||||||
public class PipelineNodeInitJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeInitJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstanceId, contextArgs, "release分支名称: xxxxxx", PipelineStatusEnum.SUCCESS, "");
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstanceId, contextArgs, "master分支合并到release分支成功: xxxxxx", PipelineStatusEnum.SUCCESS, "");
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.AppGo.BUILD)
|
@Service(value = PipelineNodeBizCodeConst.AppGo.BUILD)
|
||||||
public class PipelineNodeBuildGoJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeBuildGoJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.AppJava.BUILD)
|
@Service(value = PipelineNodeBizCodeConst.AppJava.BUILD)
|
||||||
public class PipelineNodeBuildJavaJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeBuildJavaJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.AppPython.BUILD)
|
@Service(value = PipelineNodeBizCodeConst.AppPython.BUILD)
|
||||||
public class PipelineNodeBuildPythonJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeBuildPythonJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.DEPLOY_APPROVE)
|
@Service(value = PipelineNodeBizCodeConst.DEPLOY_APPROVE)
|
||||||
public class PipelineNodeDeployApproveJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeDeployApproveJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.AppGo.DEPLOY)
|
@Service(value = PipelineNodeBizCodeConst.AppGo.DEPLOY)
|
||||||
public class PipelineNodeDeployGoJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeDeployGoJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.AppJava.DEPLOY)
|
@Service(value = PipelineNodeBizCodeConst.AppJava.DEPLOY)
|
||||||
public class PipelineNodeDeployJavaJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeDeployJavaJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.AppPython.DEPLOY)
|
@Service(value = PipelineNodeBizCodeConst.AppPython.DEPLOY)
|
||||||
public class PipelineNodeDeployPythonJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeDeployPythonJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.IMAGE_SCAN)
|
@Service(value = PipelineNodeBizCodeConst.IMAGE_SCAN)
|
||||||
public class PipelineNodeImageScanJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeImageScanJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+47
-2
@@ -1,18 +1,63 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.MERGE_BRANCH)
|
@Service(value = PipelineNodeBizCodeConst.MERGE_BRANCH)
|
||||||
public class PipelineNodeMergeBranchJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeMergeBranchJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstanceId, contextArgs, "集成区分支 xxxxxx 合并到release分支成功", PipelineStatusEnum.SUCCESS, "");
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+45
@@ -0,0 +1,45 @@
|
|||||||
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service(value = PipelineNodeBizCodeConst.MERGE_CONFIRM)
|
||||||
|
public class PipelineNodeMergeConfirmJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult = new PipelineNodeJobExecuteResult();
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+46
-2
@@ -1,18 +1,62 @@
|
|||||||
package cn.odboy.devops.job.app;
|
package cn.odboy.devops.job.app;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
import cn.odboy.devops.constant.pipeline.PipelineNodeBizCodeConst;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineNodeJobExecutor;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineTypeEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceNodeDetailService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
@Service(value = PipelineNodeBizCodeConst.MERGE_MASTER)
|
@Service(value = PipelineNodeBizCodeConst.MERGE_MASTER)
|
||||||
public class PipelineNodeMergeMasterJob implements PipelineNodeJobExecutor {
|
public class PipelineNodeMergeMasterJob implements PipelineNodeJobExecutor {
|
||||||
|
private final PipelineTemplateService pipelineTemplateService;
|
||||||
|
private final PipelineInstanceService pipelineInstanceService;
|
||||||
|
private final PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs, PipelineInstanceNodeDetailService pipelineInstanceNodeDetailService) throws BadRequestException {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult execute(Map<String, Object> contextArgs) throws BadRequestException {
|
||||||
|
String nodeName = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_NAME_KEY, "");
|
||||||
|
PipelineInstanceTb pipelineInstance = (PipelineInstanceTb) contextArgs.get(PipelineConst.INSTANCE_KEY);
|
||||||
|
PipelineNodeJobExecuteResult executeResult;
|
||||||
|
try {
|
||||||
|
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(pipelineInstance.getPipelineTemplateId());
|
||||||
|
PipelineTypeEnum pipelineType = PipelineTypeEnum.getByCode(pipelineInstance.getType());
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s开始", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
switch (pipelineType) {
|
||||||
|
case BACKEND:
|
||||||
|
executeResult = handleBackend(pipelineTemplate, pipelineInstance, contextArgs);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
executeResult = PipelineNodeJobExecuteResult.success();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s成功", nodeName), PipelineStatusEnum.SUCCESS, "");
|
||||||
|
return executeResult;
|
||||||
|
} catch (Exception e) {
|
||||||
|
pipelineInstanceNodeDetailService.addLog(pipelineInstance.getPipelineInstanceId(), contextArgs, String.format("%s失败", nodeName), PipelineStatusEnum.FAIL, e.getMessage());
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public PipelineNodeJobExecuteResult handleBackend(PipelineTemplateTb pipelineTemplate, PipelineInstanceTb pipelineInstance, Map<String, Object> contextArgs) {
|
||||||
|
Long pipelineInstanceId = pipelineInstance.getPipelineInstanceId();
|
||||||
|
String language = pipelineTemplate.getLanguage();
|
||||||
|
String env = pipelineInstance.getEnv();
|
||||||
|
String appName = pipelineInstance.getAppName();
|
||||||
return PipelineNodeJobExecuteResult.success();
|
return PipelineNodeJobExecuteResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+43
@@ -1,6 +1,17 @@
|
|||||||
package cn.odboy.devops.service.pipeline;
|
package cn.odboy.devops.service.pipeline;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceNodeDetailTb;
|
||||||
|
import cn.odboy.devops.dal.mysql.pipeline.PipelineInstanceNodeDetailMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -11,6 +22,38 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2025-06-26
|
* @since 2025-06-26
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
public class PipelineInstanceNodeDetailService {
|
public class PipelineInstanceNodeDetailService {
|
||||||
|
private final PipelineInstanceNodeDetailMapper pipelineInstanceNodeDetailMapper;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||||
|
public void addLog(Long pipelineInstanceId, Map<String, Object> contextArgs, String stepName, PipelineStatusEnum status, String stepMsg) {
|
||||||
|
Integer nodeIndex = (Integer) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_INDEX_KEY, null);
|
||||||
|
String nodeCode = (String) contextArgs.getOrDefault(PipelineConst.INSTANCE_NODE_CODE_KEY, null);
|
||||||
|
PipelineInstanceNodeDetailTb record = getPipelineInstanceNodeDetailByArgs(pipelineInstanceId, nodeCode, stepName);
|
||||||
|
if (record == null) {
|
||||||
|
record = new PipelineInstanceNodeDetailTb();
|
||||||
|
record.setPipelineInstanceId(pipelineInstanceId);
|
||||||
|
record.setStartTime(new Date());
|
||||||
|
record.setNodeIndex(nodeIndex);
|
||||||
|
record.setNodeCode(nodeCode);
|
||||||
|
record.setStepName(stepName);
|
||||||
|
record.setStepStatus(status.getCode());
|
||||||
|
pipelineInstanceNodeDetailMapper.insert(record);
|
||||||
|
} else {
|
||||||
|
PipelineInstanceNodeDetailTb updRecord = new PipelineInstanceNodeDetailTb();
|
||||||
|
updRecord.setId(record.getId());
|
||||||
|
updRecord.setStepStatus(status.getCode());
|
||||||
|
pipelineInstanceNodeDetailMapper.updateById(updRecord);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private PipelineInstanceNodeDetailTb getPipelineInstanceNodeDetailByArgs(Long pipelineInstanceId, String nodeCode, String stepName) {
|
||||||
|
return pipelineInstanceNodeDetailMapper.selectOne(new LambdaQueryWrapper<PipelineInstanceNodeDetailTb>()
|
||||||
|
.eq(PipelineInstanceNodeDetailTb::getPipelineInstanceId, pipelineInstanceId)
|
||||||
|
.eq(PipelineInstanceNodeDetailTb::getNodeCode, nodeCode)
|
||||||
|
.eq(PipelineInstanceNodeDetailTb::getStepName, stepName)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+93
-2
@@ -1,10 +1,29 @@
|
|||||||
package cn.odboy.devops.service.pipeline;
|
package cn.odboy.devops.service.pipeline;
|
||||||
|
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||||
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
import cn.odboy.devops.dal.mysql.pipeline.PipelineInstanceMapper;
|
import cn.odboy.devops.dal.mysql.pipeline.PipelineInstanceMapper;
|
||||||
|
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobRunnable;
|
||||||
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||||
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
|
import cn.odboy.util.CsJsonUtil;
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.quartz.JobDataMap;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.Future;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -14,17 +33,89 @@ import org.springframework.stereotype.Service;
|
|||||||
* @author codegen
|
* @author codegen
|
||||||
* @since 2025-06-26
|
* @since 2025-06-26
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor(onConstructor_ = @Lazy)
|
||||||
public class PipelineInstanceService {
|
public class PipelineInstanceService {
|
||||||
private final PipelineInstanceMapper pipelineInstanceMapper;
|
private final PipelineInstanceMapper pipelineInstanceMapper;
|
||||||
public PipelineInstanceTb getPipelineInstance(String pipelineInstanceId) {
|
|
||||||
|
public PipelineInstanceTb getPipelineInstance(long pipelineInstanceId) {
|
||||||
return pipelineInstanceMapper.selectOne(new LambdaQueryWrapper<PipelineInstanceTb>()
|
return pipelineInstanceMapper.selectOne(new LambdaQueryWrapper<PipelineInstanceTb>()
|
||||||
.eq(PipelineInstanceTb::getPipelineInstanceId, pipelineInstanceId)
|
.eq(PipelineInstanceTb::getPipelineInstanceId, pipelineInstanceId)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void createPipelineInstance(PipelineInstanceTb pipelineInstanceTb) {
|
public void createPipelineInstance(PipelineInstanceTb pipelineInstanceTb) {
|
||||||
pipelineInstanceMapper.insert(pipelineInstanceTb);
|
pipelineInstanceMapper.insert(pipelineInstanceTb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新事务中执行,就算抛出异常,也不会丢失执行状态
|
||||||
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||||
|
public void updateStatusByInstanceId(PipelineStatusEnum status, long pipelineInstanceId) {
|
||||||
|
pipelineInstanceMapper.updateStatusByInstanceId(status.getCode(), pipelineInstanceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void startPipeline(ThreadPoolTaskExecutor executor, JobExecutionContext context) {
|
||||||
|
JobDataMap mergedJobDataMap = context.getMergedJobDataMap();
|
||||||
|
// 获取流水线实例
|
||||||
|
long pipelineInstanceId = mergedJobDataMap.getLong(PipelineConst.INSTANCE_ID_KEY);
|
||||||
|
PipelineInstanceTb pipelineInstance = getPipelineInstance(pipelineInstanceId);
|
||||||
|
if (pipelineInstance == null) {
|
||||||
|
log.info("流水线实例不存在, instanceId={}", pipelineInstanceId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String pipelineTemplate = pipelineInstance.getPipelineTemplate();
|
||||||
|
// 流水线节点模板
|
||||||
|
List<PipelineNodeTemplateVo> pipelineNodeTemplateVos = JSON.parseArray(pipelineTemplate, PipelineNodeTemplateVo.class);
|
||||||
|
// 流水线上下文参数
|
||||||
|
Map<String, Object> contextArgs = CsJsonUtil.toMap(pipelineInstance.getContext(), String.class, Object.class);
|
||||||
|
// 放置额外的参数
|
||||||
|
contextArgs.put(PipelineConst.INSTANCE_KEY, pipelineInstance);
|
||||||
|
// 任务重试标记
|
||||||
|
Object retryNodeIndexObj = mergedJobDataMap.getOrDefault(PipelineConst.INSTANCE_RETRY_NODE_INDEX_KEY, null);
|
||||||
|
Integer retryNodeIndexValue = null;
|
||||||
|
if (retryNodeIndexObj != null) {
|
||||||
|
retryNodeIndexValue = (Integer) retryNodeIndexObj;
|
||||||
|
}
|
||||||
|
// 初始化节点明细
|
||||||
|
boolean isExecuteSuccess = true;
|
||||||
|
updateStatusByInstanceId(PipelineStatusEnum.RUNNING, pipelineInstanceId);
|
||||||
|
for (int i = 0; i < pipelineNodeTemplateVos.size(); i++) {
|
||||||
|
if (retryNodeIndexValue != null && i < retryNodeIndexValue) {
|
||||||
|
// 跳过非重试节点
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
PipelineNodeTemplateVo pipelineNodeTemplateVo = pipelineNodeTemplateVos.get(i);
|
||||||
|
String code = pipelineNodeTemplateVo.getCode();
|
||||||
|
contextArgs.put(PipelineConst.INSTANCE_NODE_INDEX_KEY, i);
|
||||||
|
contextArgs.put(PipelineConst.INSTANCE_NODE_CODE_KEY, code);
|
||||||
|
contextArgs.put(PipelineConst.INSTANCE_NODE_NAME_KEY, pipelineNodeTemplateVo.getName());
|
||||||
|
contextArgs.put(PipelineConst.INSTANCE_NODE_TEMPLATE_ARGS_KEY, pipelineNodeTemplateVo.getParameters());
|
||||||
|
// 执行任务
|
||||||
|
PipelineNodeJobRunnable pipelineNodeJobRunnable = new PipelineNodeJobRunnable(PipelineConst.EXECUTOR_PREFIX + code, contextArgs);
|
||||||
|
Future<?> future = executor.submit(pipelineNodeJobRunnable);
|
||||||
|
PipelineNodeJobExecuteResult executeResult = (PipelineNodeJobExecuteResult) future.get();
|
||||||
|
updateCurrentNodeByInstanceId(code, executeResult.getStatus(), pipelineInstanceId);
|
||||||
|
if (!PipelineStatusEnum.SUCCESS.equals(executeResult.getStatus())) {
|
||||||
|
throw new BadRequestException(executeResult.getMessage());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("流水线节点任务执行失败", e);
|
||||||
|
isExecuteSuccess = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 任务执行结果
|
||||||
|
updateStatusByInstanceId(isExecuteSuccess ? PipelineStatusEnum.SUCCESS : PipelineStatusEnum.FAIL, pipelineInstanceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void updateCurrentNodeByInstanceId(String code, PipelineStatusEnum status, long pipelineInstanceId) {
|
||||||
|
pipelineInstanceMapper.updateCurrentNodeByInstanceId(code, status.getCode(), pipelineInstanceId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-1
@@ -1,5 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.odboy.devops.dal.mysql.pipeline.PipelineInstanceMapper">
|
<mapper namespace="cn.odboy.devops.dal.mysql.pipeline.PipelineInstanceMapper">
|
||||||
|
<update id="updateStatusByInstanceId">
|
||||||
|
UPDATE pipeline_instance
|
||||||
|
SET `status` = #{status}
|
||||||
|
WHERE pipeline_instance_id = #{pipelineInstanceId}
|
||||||
|
</update>
|
||||||
|
<update id="updateCurrentNodeByInstanceId">
|
||||||
|
UPDATE pipeline_instance
|
||||||
|
SET `current_node` = #{code},
|
||||||
|
current_node_status=#{status}
|
||||||
|
WHERE pipeline_instance_id = #{pipelineInstanceId}
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+11
-5
@@ -5,7 +5,7 @@ import cn.hutool.core.util.IdUtil;
|
|||||||
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||||
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineInstanceTb;
|
||||||
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
import cn.odboy.devops.dal.dataobject.pipeline.PipelineTemplateTb;
|
||||||
import cn.odboy.devops.framework.pipeline.PipelineJobManage;
|
import cn.odboy.devops.framework.pipeline.core.PipelineJobManage;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
import cn.odboy.devops.service.pipeline.PipelineInstanceService;
|
||||||
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
import cn.odboy.devops.service.pipeline.PipelineTemplateService;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
@@ -44,15 +44,13 @@ public class PipelineReleaseTests {
|
|||||||
String envCode = "daily";
|
String envCode = "daily";
|
||||||
Map<String, Object> context = new HashMap<>();
|
Map<String, Object> context = new HashMap<>();
|
||||||
context.put("createBy", createBy);
|
context.put("createBy", createBy);
|
||||||
context.put("appName", appName);
|
|
||||||
context.put("envCode", envCode);
|
|
||||||
// 获取模板
|
// 获取模板
|
||||||
PipelineTemplateTb pipelineTemplateTb = pipelineTemplateService.getPipelineTemplateById(1L);
|
PipelineTemplateTb pipelineTemplateTb = pipelineTemplateService.getPipelineTemplateById(4L);
|
||||||
// 创建流水线实例
|
// 创建流水线实例
|
||||||
PipelineInstanceTb pipelineInstanceTb = new PipelineInstanceTb();
|
PipelineInstanceTb pipelineInstanceTb = new PipelineInstanceTb();
|
||||||
pipelineInstanceTb.setPipelineTemplateId(pipelineTemplateTb.getId());
|
pipelineInstanceTb.setPipelineTemplateId(pipelineTemplateTb.getId());
|
||||||
pipelineInstanceTb.setPipelineInstanceName("流水线测试");
|
pipelineInstanceTb.setPipelineInstanceName("流水线测试");
|
||||||
pipelineInstanceTb.setPipelineInstanceId(IdUtil.nanoId());
|
pipelineInstanceTb.setPipelineInstanceId(IdUtil.getSnowflakeNextId());
|
||||||
pipelineInstanceTb.setCreateTime(nowTime);
|
pipelineInstanceTb.setCreateTime(nowTime);
|
||||||
pipelineInstanceTb.setCreateBy(createBy);
|
pipelineInstanceTb.setCreateBy(createBy);
|
||||||
pipelineInstanceTb.setUpdateTime(nowTime);
|
pipelineInstanceTb.setUpdateTime(nowTime);
|
||||||
@@ -68,5 +66,13 @@ public class PipelineReleaseTests {
|
|||||||
pipelineJobManage.startJob(pipelineInstanceTb);
|
pipelineJobManage.startJob(pipelineInstanceTb);
|
||||||
ThreadUtil.safeSleep(1000 * 60 * 60 * 24);
|
ThreadUtil.safeSleep(1000 * 60 * 60 * 24);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.err.println("nanoId=" + IdUtil.nanoId());
|
||||||
|
System.err.println("objectId=" + IdUtil.objectId());
|
||||||
|
System.err.println("snowflakeNextId=" + IdUtil.getSnowflakeNextIdStr());
|
||||||
|
System.err.println("fastUUID=" + IdUtil.fastUUID());
|
||||||
|
System.err.println("fastSimpleUUID=" + IdUtil.fastSimpleUUID());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+159
-69
@@ -11,51 +11,12 @@
|
|||||||
Target Server Version : 80025 (8.0.25)
|
Target Server Version : 80025 (8.0.25)
|
||||||
File Encoding : 65001
|
File Encoding : 65001
|
||||||
|
|
||||||
Date: 27/06/2025 00:47:59
|
Date: 27/06/2025 18:08:43
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
SET FOREIGN_KEY_CHECKS = 0;
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
-- ----------------------------
|
|
||||||
-- Table structure for demo_logic_table
|
|
||||||
-- ----------------------------
|
|
||||||
DROP TABLE IF EXISTS `demo_logic_table`;
|
|
||||||
CREATE TABLE `demo_logic_table` (
|
|
||||||
`id` bigint NOT NULL COMMENT 'id',
|
|
||||||
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人',
|
|
||||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
|
||||||
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '修改人',
|
|
||||||
`update_time` datetime NOT NULL COMMENT '修改时间',
|
|
||||||
`available` tinyint(1) NOT NULL DEFAULT '1' COMMENT '数据有效性',
|
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
||||||
|
|
||||||
-- ----------------------------
|
|
||||||
-- Records of demo_logic_table
|
|
||||||
-- ----------------------------
|
|
||||||
BEGIN;
|
|
||||||
COMMIT;
|
|
||||||
|
|
||||||
-- ----------------------------
|
|
||||||
-- Table structure for demo_table
|
|
||||||
-- ----------------------------
|
|
||||||
DROP TABLE IF EXISTS `demo_table`;
|
|
||||||
CREATE TABLE `demo_table` (
|
|
||||||
`id` bigint NOT NULL COMMENT 'id',
|
|
||||||
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人',
|
|
||||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
|
||||||
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '修改人',
|
|
||||||
`update_time` datetime NOT NULL COMMENT '修改时间',
|
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
||||||
|
|
||||||
-- ----------------------------
|
|
||||||
-- Records of demo_table
|
|
||||||
-- ----------------------------
|
|
||||||
BEGIN;
|
|
||||||
COMMIT;
|
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for demo_time_table
|
-- Table structure for demo_time_table
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@@ -73,6 +34,102 @@ CREATE TABLE `demo_time_table` (
|
|||||||
BEGIN;
|
BEGIN;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for demo_user_time_logic_table
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `demo_user_time_logic_table`;
|
||||||
|
CREATE TABLE `demo_user_time_logic_table` (
|
||||||
|
`id` bigint NOT NULL COMMENT 'id',
|
||||||
|
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人',
|
||||||
|
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||||
|
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '修改人',
|
||||||
|
`update_time` datetime NOT NULL COMMENT '修改时间',
|
||||||
|
`available` tinyint(1) NOT NULL DEFAULT '1' COMMENT '数据有效性',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of demo_user_time_logic_table
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for demo_user_time_table
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `demo_user_time_table`;
|
||||||
|
CREATE TABLE `demo_user_time_table` (
|
||||||
|
`id` bigint NOT NULL COMMENT 'id',
|
||||||
|
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人',
|
||||||
|
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||||
|
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '修改人',
|
||||||
|
`update_time` datetime NOT NULL COMMENT '修改时间',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of demo_user_time_table
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for devops_ci_git_repo
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `devops_ci_git_repo`;
|
||||||
|
CREATE TABLE `devops_ci_git_repo` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
|
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||||
|
`update_time` datetime NOT NULL COMMENT '更新时间',
|
||||||
|
`app_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '应用名称',
|
||||||
|
`ssh_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ssh地址',
|
||||||
|
`http_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'http地址',
|
||||||
|
`namespace` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '命名空间(组、用户)',
|
||||||
|
`project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目名称',
|
||||||
|
`project_id` varchar(255) NOT NULL COMMENT '项目id',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
|
UNIQUE KEY `uk_app` (`app_name`) USING BTREE,
|
||||||
|
KEY `uk_git` (`ssh_url`,`namespace`,`project_name`) USING BTREE
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=825 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='devops git仓库';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of devops_ci_git_repo
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO `devops_ci_git_repo` (`id`, `create_time`, `update_time`, `app_name`, `ssh_url`, `http_url`, `namespace`, `project_name`, `project_id`) VALUES (1, '2021-03-12 00:00:00', '2021-03-12 00:00:00', 'cutejava', 'git@local.gitlab.cn.cn:root/cutejava.git', 'http://local.gitlab.cn/root/cutejava.git', 'root', 'cutejava', '1');
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for devops_kubernetes_cluster_config
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `devops_kubernetes_cluster_config`;
|
||||||
|
CREATE TABLE `devops_kubernetes_cluster_config` (
|
||||||
|
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||||
|
`cluster_code` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '集群code',
|
||||||
|
`env` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境daily、stage、online',
|
||||||
|
`enabled` int DEFAULT '1' COMMENT '启用状态 1 启用 0 未启用',
|
||||||
|
`cluster_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '集群类型(cpaas\\edge\\自建)',
|
||||||
|
`cluster_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '集群名称',
|
||||||
|
`cluster_server_api` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '集群服务地址',
|
||||||
|
`cluster_config` blob COMMENT '集群服务SecretsConfig',
|
||||||
|
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
|
||||||
|
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人',
|
||||||
|
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '修改人',
|
||||||
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||||
|
`available` tinyint(1) NOT NULL DEFAULT '1' COMMENT '数据有效性',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='devops kubernetes集群配置';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of devops_kubernetes_cluster_config
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO `devops_kubernetes_cluster_config` (`id`, `cluster_code`, `env`, `enabled`, `cluster_type`, `cluster_name`, `cluster_server_api`, `cluster_config`, `remark`, `create_by`, `update_by`, `create_time`, `update_time`, `available`) VALUES (1, 'daily', 'daily', 1, 'alicloud', '阿里云日常环境集群', 'https://192.168.1.105:6443', '', NULL, 'admin', 'admin', '2021-03-12 00:00:00', '2021-03-12 00:00:00', 1);
|
||||||
|
INSERT INTO `devops_kubernetes_cluster_config` (`id`, `cluster_code`, `env`, `enabled`, `cluster_type`, `cluster_name`, `cluster_server_api`, `cluster_config`, `remark`, `create_by`, `update_by`, `create_time`, `update_time`, `available`) VALUES (2, 'stage', 'stage', 1, 'alicloud', '阿里云预发环境集群', 'https://192.168.1.105:6443', '', NULL, 'admin', 'admin', '2021-03-12 00:00:00', '2021-03-12 00:00:00', 1);
|
||||||
|
INSERT INTO `devops_kubernetes_cluster_config` (`id`, `cluster_code`, `env`, `enabled`, `cluster_type`, `cluster_name`, `cluster_server_api`, `cluster_config`, `remark`, `create_by`, `update_by`, `create_time`, `update_time`, `available`) VALUES (3, 'online', 'online', 1, 'alicloud', '阿里云生产环境集群', 'https://192.168.1.105:6443', '', NULL, 'admin', 'admin', '2021-03-12 00:00:00', '2021-03-12 00:00:00', 1);
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for pipeline_instance
|
-- Table structure for pipeline_instance
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@@ -80,7 +137,7 @@ DROP TABLE IF EXISTS `pipeline_instance`;
|
|||||||
CREATE TABLE `pipeline_instance` (
|
CREATE TABLE `pipeline_instance` (
|
||||||
`pipeline_template_id` bigint NOT NULL COMMENT '流水线模板id',
|
`pipeline_template_id` bigint NOT NULL COMMENT '流水线模板id',
|
||||||
`pipeline_instance_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线实例名称',
|
`pipeline_instance_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线实例名称',
|
||||||
`pipeline_instance_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线实例id',
|
`pipeline_instance_id` bigint NOT NULL COMMENT '流水线实例id',
|
||||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||||
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人',
|
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人',
|
||||||
`update_time` datetime NOT NULL COMMENT '更新时间',
|
`update_time` datetime NOT NULL COMMENT '更新时间',
|
||||||
@@ -99,26 +156,6 @@ CREATE TABLE `pipeline_instance` (
|
|||||||
-- Records of pipeline_instance
|
-- Records of pipeline_instance
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
BEGIN;
|
BEGIN;
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', '8omvZEM792bbH8GaFVgLF', '2025-06-27 00:05:12', 'admin', '2025-06-27 00:05:12', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'DWEVcCB0b1A43LjP2SCcV', '2025-06-26 23:47:57', 'admin', '2025-06-26 23:47:57', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'gl4EJWZCikyKuLeW0Gzrq', '2025-06-27 00:13:37', 'admin', '2025-06-27 00:13:37', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'gnZ3oYi_bfVkL0Me6QKwh', '2025-06-26 23:53:07', 'admin', '2025-06-26 23:53:07', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'gqmbUcLG7hgKE40EYkCZz', '2025-06-26 23:55:32', 'admin', '2025-06-26 23:55:32', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'HbIwazuQj6s24Ero08rIw', '2025-06-26 23:57:53', 'admin', '2025-06-26 23:57:53', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'jRq5unyzWhbSSwj6noGrk', '2025-06-26 23:32:04', 'admin', '2025-06-26 23:32:04', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'Kum4R4e_hby0P7DXtV3RV', '2025-06-27 00:03:47', 'admin', '2025-06-27 00:03:47', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'l35eX80-zuYS1h6OfLtIp', '2025-06-26 23:54:28', 'admin', '2025-06-26 23:54:28', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'nN_xqed_XmfENYFk5mrji', '2025-06-27 00:08:25', 'admin', '2025-06-27 00:08:25', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'OZEBc8wLvbGLk6ZtrWx4c', '2025-06-26 23:29:54', 'admin', '2025-06-26 23:29:54', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'piC4lv7Xw7AaAluvqDzUw', '2025-06-26 23:37:44', 'admin', '2025-06-26 23:37:44', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'qBOPGj9lCnWsxdGmvLaiu', '2025-06-27 00:16:59', 'admin', '2025-06-27 00:16:59', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'r9x4rGQskuOXckyKX7exz', '2025-06-27 00:45:08', 'admin', '2025-06-27 00:45:08', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'sGgYbHzvBOBl_bAZ-rigz', '2025-06-26 23:25:54', 'admin', '2025-06-26 23:25:54', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'SMamFqVOtkfbFuBz-rFjd', '2025-06-26 23:28:48', 'admin', '2025-06-26 23:28:48', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'U8lhSSIBvHZYxikX2J9vM', '2025-06-26 23:41:47', 'admin', '2025-06-26 23:41:47', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'XWh1Cfh2Ipe0_KCmicWd2', '2025-06-26 23:28:11', 'admin', '2025-06-26 23:28:11', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'YrrVkKiLVHAFf9WWKkAwm', '2025-06-27 00:00:39', 'admin', '2025-06-27 00:00:39', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
INSERT INTO `pipeline_instance` (`pipeline_template_id`, `pipeline_instance_name`, `pipeline_instance_id`, `create_time`, `create_by`, `update_time`, `type`, `app_name`, `env`, `status`, `current_node`, `current_node_status`, `context`, `pipeline_template`) VALUES (1, '流水线测试', 'ZPHF6zTcCfZIwoG23aKu5', '2025-06-26 23:44:32', 'admin', '2025-06-26 23:44:32', 'app_backend', 'test', 'daily', 'wait', '', '', '{\"createBy\":\"admin\",\"envCode\":\"daily\",\"appName\":\"test\"}', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@@ -126,14 +163,15 @@ COMMIT;
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `pipeline_instance_node_detail`;
|
DROP TABLE IF EXISTS `pipeline_instance_node_detail`;
|
||||||
CREATE TABLE `pipeline_instance_node_detail` (
|
CREATE TABLE `pipeline_instance_node_detail` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||||
`pipeline_instance_id` bigint NOT NULL COMMENT '流水线实例id',
|
`pipeline_instance_id` bigint NOT NULL COMMENT '流水线实例id',
|
||||||
`start_time` datetime NOT NULL COMMENT '开始时间',
|
`start_time` datetime NOT NULL COMMENT '开始时间',
|
||||||
`finish_time` datetime NOT NULL COMMENT '结束时间',
|
|
||||||
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点状态',
|
|
||||||
`node_index` int NOT NULL COMMENT '节点索引',
|
`node_index` int NOT NULL COMMENT '节点索引',
|
||||||
`node_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点编码',
|
`node_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点编码',
|
||||||
`node_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '节点描述',
|
`step_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '步骤说明',
|
||||||
`context` varchar(255) NOT NULL COMMENT '输入参数'
|
`step_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '步骤状态',
|
||||||
|
`step_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '异常明细',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='流水线实例节点明细';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='流水线实例节点明细';
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@@ -153,21 +191,73 @@ CREATE TABLE `pipeline_template` (
|
|||||||
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '修改人',
|
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '修改人',
|
||||||
`update_time` datetime NOT NULL COMMENT '修改时间',
|
`update_time` datetime NOT NULL COMMENT '修改时间',
|
||||||
`available` tinyint(1) NOT NULL DEFAULT '1' COMMENT '数据有效性',
|
`available` tinyint(1) NOT NULL DEFAULT '1' COMMENT '数据有效性',
|
||||||
`type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线类型',
|
`type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '模板类型(应用发布流程等)',
|
||||||
`language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '语言',
|
|
||||||
`env` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '环境编码',
|
`env` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '环境编码',
|
||||||
|
`language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '语言',
|
||||||
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线编码',
|
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线编码',
|
||||||
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线名称',
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线名称',
|
||||||
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线描述',
|
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线描述',
|
||||||
`template` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线模板内容',
|
`template` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '流水线模板内容',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='流水线模板';
|
) ENGINE=InnoDB AUTO_INCREMENT=128 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='流水线模板,类型和环境确定可以使用的范围';
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of pipeline_template
|
-- Records of pipeline_template
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
BEGIN;
|
BEGIN;
|
||||||
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `language`, `env`, `code`, `name`, `description`, `template`) VALUES (1, 'admin', '2025-06-19 18:50:18', 'admin', '2025-06-19 18:50:26', 1, 'app_backend', 'java', 'daily', 'dailyBackendJavaApp', '日常环境流水线', '日常环境流水线(JAVA)', '[{\n \"code\": \"node_init\",\n \"name\": \"初始化\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_merge_branch\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": []\n },\n {\n \"code\": \"node_build_java\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"backend-pipeline\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"condition\": \"success|fail\",\n \"isBlank\": \"true\"\n }]\n }\n]');
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (1, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'daily', 'javascript', 'daily_front_javascript', '前端日常流水线', '前端日常流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\"\n }\n },\n {\n \"code\": \"node_deploy_api\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"部署成功,查看详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (2, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'stage', 'javascript', 'stage_front_javascript', '前端预发流水线', '前端预发流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\"\n }\n },\n {\n \"code\": \"node_deploy_api\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"部署成功,查看详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (3, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'online', 'javascript', 'online_front_javascript', '前端生产流水线', '前端生产流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\"\n }\n },\n {\n \"code\": \"node_approve_deploy\",\n \"type\": \"service\",\n \"name\": \"部署审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"同意\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n },\n {\n \"type\": \"execute\",\n \"title\": \"拒绝\",\n \"code\": \"refuse\",\n \"parameters\": {\n\n }\n }\n ]\n },\n {\n \"code\": \"node_deploy_api\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"部署成功,查看详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (4, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'daily', 'java', 'daily_backend_java', '日常环境流水线', '日常环境流水线(JAVA)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (5, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'stage', 'java', 'stage_backend_java', '预发环境流水线', '预发环境流水线(JAVA)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\",\n \"jdkVersion\": \"jdk11\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (6, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'online', 'java', 'online_backend_java', '生产环境流水线', '生产环境流水线(JAVA)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\"\n }\n },\n {\n \"code\": \"node_image_scan\",\n \"type\": \"service\",\n \"name\": \"镜像扫描\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-image-scan\"\n }\n },\n {\n \"code\": \"node_approve_deploy\",\n \"type\": \"service\",\n \"name\": \"部署审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"同意\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n },\n {\n \"type\": \"execute\",\n \"title\": \"拒绝\",\n \"code\": \"refuse\",\n \"parameters\": {\n\n }\n }\n ]\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (9, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'online', 'python', 'online_backend_python', '生产环境流水线', '生产环境流水线(Python)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n}, {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n}, {\n \"code\": \"node_http_post_plugin-stc_upload\",\n \"type\": \"service\",\n \"name\": \"STC代码上传\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n}, {\n \"code\": \"node_http_post_plugin-stc_result\",\n \"type\": \"service\",\n \"name\": \"STC结果扫描\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n}, {\n \"code\": \"node_build_python\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-python\"\n }\n}, {\n \"code\": \"node_deploy_python\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n}, {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {}\n }]\n}, {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n}]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (10, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'stage', 'python', 'stage_backend_python', '预发环境流水线', '预发环境流水线(Python)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_python\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-python\"\n }\n },\n {\n \"code\": \"node_deploy_python\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (11, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'daily', 'python', 'daily_backend_python', '日常环境流水线', '日常环境流水线(Python)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_python\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-python\"\n }\n },\n {\n \"code\": \"node_deploy_python\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (13, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'daily', 'javascript', 'daily_front_npm', 'alpha发布流水线', 'alpha发布流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_npm\",\n \"type\": \"service\",\n \"name\": \"NPM构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\"\n }\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (14, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'stage', 'javascript', 'stage_front_npm', 'beta发布流水线', 'beta发布流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_npm\",\n \"type\": \"service\",\n \"name\": \"NPM构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\"\n }\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (15, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'online', 'javascript', 'online_front_npm', '正式发布流水线', '正式发布流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_npm\",\n \"type\": \"service\",\n \"name\": \"NPM构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\"\n }\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (16, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'daily', 'node', 'daily_backend_node', 'Node日常环境流水线', 'Node日常环境流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_node\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-nodejs-server-test\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (17, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'stage', 'node', 'stage_backend_node', 'Node预发环境流水线', 'Node预发环境流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_node\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-nodejs-server-test\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (18, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'online', 'node', 'online_backend_node', 'Node生产环境流水线', 'Node生产环境流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_post_plugin-stc_upload\",\n \"type\": \"service\",\n \"name\": \"STC代码上传\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_http_post_plugin-stc_result\",\n \"type\": \"service\",\n \"name\": \"STC结果扫描\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_build_node\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-nodejs-server-test\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (19, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'android', 'daily_mobile_android', 'Android流水线测试阶段', 'Android流水线测试阶段', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\",\n \"jdkVersion\": \"v11\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"UI自动化\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/appUiAutoTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/appUiAutoTest/describe\",\n \"envType\": \"online\"\n }\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (20, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'android', 'daily_mobile_android_no_ui', 'Android流水线测试阶段(不包含UI测试)', 'Android流水线测试阶段(不包含UI测试)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\",\n \"jdkVersion\": \"v11\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (21, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android', 'Android流水线发版阶段', 'Android流水线发版阶段', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_mpaas_upload_android\",\n \"type\": \"service\",\n \"name\": \"APK上传mPaas\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_mpaas_start_android\",\n \"type\": \"service\",\n \"name\": \"加固\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n }, {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {}\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (22, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android_no_firm', 'Android流水线发版阶段(不加固)', 'Android流水线发版阶段(不加固)', '[{\n \"code\": \"node_release_android\",\n \"type\": \"service\",\n \"name\": \"合并到Release分支\"\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (23, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'ios', 'daily_mobile_ios', 'IOS流水线测试阶段', 'IOS流水线测试阶段', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_ios\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-ios-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (24, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'ios', 'online_mobile_ios', 'IOS流水线发版阶段', 'IOS流水线发版阶段', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_ios\",\n \"type\": \"service\",\n \"name\": \"IOS构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-ios-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (25, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'online', 'javascript', 'online_front_javascript_approve_master', '前端生产流水线(合并Master确认)', '前端生产流水线(合并Master确认)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\"\n }\n },\n {\n \"code\": \"node_approve_deploy\",\n \"type\": \"service\",\n \"name\": \"部署审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"同意\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n },\n {\n \"type\": \"execute\",\n \"title\": \"拒绝\",\n \"code\": \"refuse\",\n \"parameters\": {\n\n }\n }\n ]\n },\n {\n \"code\": \"node_deploy_api\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"部署成功,查看详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (28, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'devopsonline', 'java', 'devopsonline_backend_java', '运维生产环境流水线(Java)', '运维生产环境流水线(Java)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\"\n }\n },\n {\n \"code\": \"node_approve_deploy\",\n \"type\": \"service\",\n \"name\": \"部署审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"同意\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n },\n {\n \"type\": \"execute\",\n \"title\": \"拒绝\",\n \"code\": \"refuse\",\n \"parameters\": {\n\n }\n }\n ]\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (29, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'devopstest', 'java', 'devopstest_backend_java', '运维测试环境流水线(Java)', '运维测试环境流水线(Java)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (30, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'front', 'online', 'javascript', 'online_front_javascript_qa', '前端生产流水线-发布准入', '前端生产流水线-发布准入', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-front-test\",\n \"npm\": \"npm\",\n \"nodeVersion\": \"v14.21.3\",\n \"mirrors\": \"https://registry.npmmirror.com\" }\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"发布准入\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/releaseAdmissionExecute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/releaseAdmissionDescribe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_deploy_api\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"部署成功,查看详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (31, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alitest', 'java', 'alitest_backend_java', '阿里云测试环境流水线', '阿里云测试环境流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\",\n \"jdkVersion\": \"jdk8\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (32, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alionline', 'java', 'alionline_backend_java', '阿里云生产环境流水线', '阿里云生产环境流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\",\n \"jdkVersion\": \"jdk8\"\n }\n },\n {\n \"code\": \"node_image_scan\",\n \"type\": \"service\",\n \"name\": \"镜像扫描\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-image-scan\"\n }\n },\n {\n \"code\": \"node_approve_deploy\",\n \"type\": \"service\",\n \"name\": \"部署审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"同意\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n },\n {\n \"type\": \"execute\",\n \"title\": \"拒绝\",\n \"code\": \"refuse\",\n \"parameters\": {\n\n }\n }\n ]\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (33, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'android', 'daily_mobile_android', 'Android流水线ECS部署测试阶段', 'Android流水线ECS部署测试阶段', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\",\n \"jdkVersion\": \"v11\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"UI自动化\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/appAutoUiTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/appAutoUiTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_approve_test_android\",\n \"type\": \"service\",\n \"name\": \"测试确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"测试通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (34, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android', 'Android流水线ECS部署发版阶段', 'Android流水线ECS部署发版阶段', '[{\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_release_android\",\n \"type\": \"service\",\n \"name\": \"合并到Release分支\"\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_mpaas_upload_android\",\n \"type\": \"service\",\n \"name\": \"APK上传mPaas\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_mpaas_start_android\",\n \"type\": \"service\",\n \"name\": \"加固\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (38, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android_no_test', 'Android流水线去除测试部署生产阶段', 'Android流水线去除测试部署发版阶段', '[{\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_release_android\",\n \"type\": \"service\",\n \"name\": \"合并到Release分支\"\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"name\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_mpaas_upload_android\",\n \"type\": \"service\",\n \"name\": \"APK上传mPaas\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_mpaas_start_android\",\n \"type\": \"service\",\n \"name\": \"加固\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (39, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'daily', 'none', 'daily', '空白流水线', '空白流水线', '空白流水线');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (40, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'stage', 'none', 'stage', '空白流水线', '空白流水线', '空白流水线');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (41, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'online', 'none', 'online', '空白流水线', '空白流水线', '空白流水线');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (42, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alistage', 'java', 'alistage_backend_java', '阿里云预发环境流水线', '阿里云预发环境流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\",\n \"jdkVersion\": \"jdk8\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (48, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alitest', 'cpp', 'alitest_backend_cpp', 'C++流水线(自定义构建)', 'C++流水线(自定义构建)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_cplus_out\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/visualplatform/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/visualplatform/describe\",\n \"envType\": \"daily\"\n }\n },\n {\n \"code\": \"node_approve_cplus_out\",\n \"type\": \"service\",\n \"name\": \"审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/visualplatform/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/visualplatform/describe\",\n \"envType\": \"daily\"\n }\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (49, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alitest', 'python', 'alitest_backend_python', '阿里云测试环境Python流水线', '阿里云测试环境Python流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_python\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"python-pipeline\"\n }\n },\n {\n \"code\": \"node_deploy_python\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (50, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alistage', 'python', 'alistage_backend_python', '阿里云预发环境Python流水线', '阿里云预发环境Python流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_python\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"python-pipeline\"\n }\n },\n {\n \"code\": \"node_deploy_python\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (51, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alionline', 'python', 'alionline_backend_python', '阿里云生产环境Python流水线', '阿里云生产环境Python流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n}, {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n}, {\n \"code\": \"node_http_post_plugin-stc_upload\",\n \"type\": \"service\",\n \"name\": \"STC代码上传\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n}, {\n \"code\": \"node_http_post_plugin-stc_result\",\n \"type\": \"service\",\n \"name\": \"STC结果扫描\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n}, {\n \"code\": \"node_build_python\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"python-pipeline\"\n }\n}, {\n \"code\": \"node_deploy_python\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n}, {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {}\n }]\n}, {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n}]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (52, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alitest', 'node', 'alitest_backend_node', '阿里云测试环境Node流水线', '阿里云测试环境Node流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_node\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-nodejs-server-test\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (53, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alistage', 'node', 'alistage_backend_node', '阿里云预发环境Node流水线', '阿里云预发环境Node流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_node\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-nodejs-server-test\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (54, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alionline', 'node', 'alionline_backend_node', '阿里云生产环境Node流水线', '阿里云生产环境Node流水线', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_post_plugin-stc_upload\",\n \"type\": \"service\",\n \"name\": \"STC代码上传\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_http_post_plugin-stc_result\",\n \"type\": \"service\",\n \"name\": \"STC结果扫描\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/describe\"\n },\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"STC扫描结束,查看结果\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_build_node\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-nodejs-server-test\"\n }\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"name\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (55, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alionline', 'java', 'alionline_backend_java_test', '阿里云生产环境流水线(Beta)', '生产环境流水线(test)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (56, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alionline', 'java', 'alionline_backend_java', '阿里云生产环境流水线', '阿里云生产环境流水线—发布准入&TB卡点&镜像扫描', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_tb_check_devops\",\n \"type\": \"service\",\n \"name\": \"TB任务检测\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_java\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-backend\",\n \"jdkVersion\": \"jdk8\"\n }\n },\n {\n \"code\": \"node_image_scan\",\n \"type\": \"service\",\n \"name\": \"镜像扫描\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-image-scan\"\n }\n },\n {\n \"code\": \"node_backend_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"发布准入\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/qa/releaseAdmissionExecute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/qa/releaseAdmissionDescribe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_approve_deploy\",\n \"type\": \"service\",\n \"name\": \"部署审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"同意\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n },\n {\n \"type\": \"execute\",\n \"title\": \"拒绝\",\n \"code\": \"refuse\",\n \"parameters\": {\n\n }\n }\n ]\n },\n {\n \"code\": \"node_deploy_java\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (60, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'android', 'daily_mobile_android_flutter', 'Android流水线测试阶段(Flutter版本检测)', 'Android流水线测试阶段(Flutter版本检测)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\",\n \"jdkVersion\": \"v11\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"UI自动化\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/appAutoUiTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/appAutoUiTest/describe\",\n \"envType\": \"online\"\n }\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (61, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'android', 'daily_mobile_android_no_ui_flutter', 'Android流水线测试阶段(不包含UI测试&Flutter)', 'Android流水线测试阶段(不包含UI测试&Flutter)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\",\n \"jdkVersion\": \"v11\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (62, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android_flutter', 'Android流水线发版阶段(Flutter版本)', 'Android流水线发版阶段(Flutter版本)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_mpaas_upload_android\",\n \"type\": \"service\",\n \"name\": \"APK上传mPaas\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_mpaas_start_android\",\n \"type\": \"service\",\n \"name\": \"加固\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n }, {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {}\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (63, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android_no_firm_flutter', 'Android流水线发版阶段(不加固&Flutter)', 'Android流水线发版阶段(不加固&Flutter)', '[{\n \"code\": \"node_release_android\",\n \"type\": \"service\",\n \"name\": \"合并到Release分支\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (64, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'android', 'daily_mobile_android_ecs_flutter', 'Android流水线ECS部署测试阶段(Flutter版本)', 'Android流水线ECS部署测试阶段(Flutter版本)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\",\n \"jdkVersion\": \"v11\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"UI自动化\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/appAutoUiTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/appAutoUiTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_approve_test_android\",\n \"type\": \"service\",\n \"name\": \"测试确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"测试通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (65, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android_ecs_flutter', 'Android流水线ECS部署发版阶段(Flutter版本)', 'Android流水线ECS部署发版阶段(Flutter版本)', '[{\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_release_android\",\n \"type\": \"service\",\n \"name\": \"合并到Release分支\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_mpaas_upload_android\",\n \"type\": \"service\",\n \"name\": \"APK上传mPaas\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_mpaas_start_android\",\n \"type\": \"service\",\n \"name\": \"加固\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (66, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'android', 'online_mobile_android_no_test_flutter', 'Android流水线去除测试部署生产阶段(Flutter版本)', 'Android流水线去除测试部署生产阶段(Flutter版本)', '[{\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_release_android\",\n \"type\": \"service\",\n \"name\": \"合并到Release分支\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_android\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"pipeline-android-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_mpaas_upload_android\",\n \"type\": \"service\",\n \"name\": \"APK上传mPaas\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_mpaas_start_android\",\n \"type\": \"service\",\n \"name\": \"加固\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_apk_sign_android\",\n \"type\": \"service\",\n \"name\": \"签名\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (67, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'daily', 'ios', 'daily_mobile_ios_flutter', 'IOS流水线测试阶段(Flutter版本)', 'IOS流水线测试阶段(Flutter版本)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_ios\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"ios-pipeline-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (68, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'mobile', 'online', 'ios', 'online_mobile_ios_flutter', 'IOS流水线发版阶段(Flutter版本)', 'IOS流水线发版阶段(Flutter版本)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n }, {\n \"code\": \"flutter_branch_node_check\",\n \"type\": \"service\",\n \"name\": \"检查Flutter版本\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"showFlutterMsg\",\n \"parameters\": {},\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_build_ios\",\n \"type\": \"service\",\n \"name\": \"IOS构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"ios-pipeline-test\"\n },\n \"buttons\": [{\n \"type\": \"qrCodeDialog\",\n \"title\": \"查看APK二维码\",\n \"code\": \"openQrCode\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_http_get_plugin\",\n \"type\": \"service\",\n \"name\": \"专项测试节点\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"parameters\": {\n \"execute\": \"https://cutejava-api.odboy.cn/api/specialTest/execute\",\n \"describe\": \"https://cutejava-api.odboy.cn/api/specialTest/describe\",\n \"envType\": \"online\"\n }\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
|
INSERT INTO `pipeline_template` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `available`, `type`, `env`, `language`, `code`, `name`, `description`, `template`) VALUES (69, 'admin', '2021-03-12 00:00:00', 'admin', '2021-03-12 00:00:00', 1, 'backend', 'alionline', 'python', 'alionline_backend_python_nostc', '阿里云生产环境Python流水线(No STC)', '阿里云生产环境Python流水线(No STC)', '[{\n \"code\": \"node_init\",\n \"type\": \"service\",\n \"name\": \"初始化\"\n },\n {\n \"code\": \"node_merge_branch\",\n \"type\": \"service\",\n \"name\": \"合并代码\",\n \"click\": \"true\",\n \"retry\": \"true\"\n },\n {\n \"code\": \"node_build_python\",\n \"type\": \"service\",\n \"name\": \"构建\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"detailType\": \"gitlab\",\n \"parameters\": {\n \"pipeline\": \"python-pipeline\"\n }\n },\n {\n \"code\": \"node_approve_deploy\",\n \"type\": \"service\",\n \"name\": \"部署审批\",\n \"click\": \"false\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"同意\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n },\n {\n \"type\": \"execute\",\n \"title\": \"拒绝\",\n \"code\": \"refuse\",\n \"parameters\": {\n\n }\n }\n ]\n },\n {\n \"code\": \"node_deploy_python\",\n \"type\": \"service\",\n \"name\": \"部署\",\n \"click\": \"true\",\n \"retry\": \"true\",\n \"buttons\": [{\n \"type\": \"link\",\n \"title\": \"查看部署详情\",\n \"code\": \"success\",\n \"parameters\": {\n \"isBlank\": \"true\"\n }\n }]\n },\n {\n \"code\": \"node_merge_confirm\",\n \"type\": \"service\",\n \"name\": \"合并确认\",\n \"click\": \"false\",\n \"retry\": \"false\",\n \"buttons\": [{\n \"type\": \"execute\",\n \"title\": \"通过\",\n \"code\": \"agree\",\n \"parameters\": {\n\n }\n }]\n },\n {\n \"code\": \"node_merge_master\",\n \"type\": \"service\",\n \"name\": \"合并回Master\",\n \"click\": \"false\",\n \"retry\": \"true\"\n }\n]');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user