refactor(devops): 重构代码并添加新功能
- 重构了多个类的包结构,提高了代码的可维护性 - 添加了多个新的流水线节点服务类,增加了对Android、Node和NPM构建的支持 - 新增了人工部署审批和APK签名节点的实现 - 优化了现有流水线节点的执行逻辑,提高了执行效率
This commit is contained in:
@@ -1,16 +1,18 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function startPipeline() {
|
||||
export function startPipeline(data) {
|
||||
return request({
|
||||
url: 'api/devops/pipelineInstance/start',
|
||||
method: 'post'
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function restartPipeline() {
|
||||
export function restartPipeline(data) {
|
||||
return request({
|
||||
url: 'api/devops/pipelineInstance/restart',
|
||||
method: 'post'
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -61,10 +61,9 @@
|
||||
<el-row>
|
||||
<el-col :span="12" style="text-align: left">
|
||||
<!-- 流水线状态为fail,且节点支持重试 -->
|
||||
<div
|
||||
v-if="pipelineData.currentNodeStatus && pipelineData.currentNodeStatus === 'fail' && pipelineData.retry === true"
|
||||
>
|
||||
<div v-if="pipelineData.currentNodeStatus && pipelineData.currentNodeStatus === 'fail' && pipelineData.retry === true">
|
||||
<div class="box-buttons">
|
||||
{{ '1' }}
|
||||
<el-button
|
||||
type="text"
|
||||
size="medium"
|
||||
@@ -80,10 +79,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 流水线状态为success,且有需要满足条件的操作按钮 -->
|
||||
<div
|
||||
v-else-if="pipelineData.currentNodeStatus && pipelineData.currentNodeStatus === statusColorConst.success.code && pipelineData.buttons && pipelineData.buttons.length > 0"
|
||||
>
|
||||
<div v-else-if="pipelineData.currentNodeStatus && pipelineData.currentNodeStatus === statusColorConst.success.code && pipelineData.buttons && pipelineData.buttons.length > 0">
|
||||
<div class="box-buttons">
|
||||
{{ '2' }}
|
||||
<el-button
|
||||
v-for="buttonItem in pipelineData.buttons"
|
||||
:key="buttonItem.service"
|
||||
@@ -102,10 +100,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 流水线状态非pending,且有操作按钮 -->
|
||||
<div
|
||||
v-else-if="pipelineData.currentNodeStatus && pipelineData.currentNodeStatus !== statusColorConst.pending.code && pipelineData.buttons && pipelineData.buttons.length > 0"
|
||||
>
|
||||
<div v-else-if="pipelineData.currentNodeStatus && pipelineData.currentNodeStatus !== statusColorConst.pending.code && pipelineData.buttons && pipelineData.buttons.length > 0">
|
||||
<div class="box-buttons">
|
||||
{{ '3' }}
|
||||
<el-button
|
||||
v-for="buttonItem in pipelineData.buttons"
|
||||
:key="buttonItem.service"
|
||||
@@ -267,8 +264,8 @@ export default {
|
||||
</script>
|
||||
<style scoped>
|
||||
.box-card {
|
||||
width: 260px; /* 卡片宽度 */
|
||||
max-width: 260px; /* 卡片宽度 */
|
||||
width: 300px; /* 卡片宽度 */
|
||||
max-width: 300px; /* 卡片宽度 */
|
||||
padding: 10px;
|
||||
background-color: #fff; /* 背景颜色 */
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影效果 */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -87,7 +87,7 @@ public class CsWsServer {
|
||||
*/
|
||||
public void sendMessage(CsWsMessage message, @PathParam("sid") String sid) throws IOException {
|
||||
String body = JSON.toJSONString(message);
|
||||
log.info("推送消息到{}, 推送内容:{}", sid, message);
|
||||
// log.info("推送消息到{}, 推送内容:{}", sid, message);
|
||||
try {
|
||||
if (sid == null) {
|
||||
sendToAll(body);
|
||||
|
||||
+22
-6
@@ -3,8 +3,8 @@ package cn.odboy.devops.controller;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineTemplateTb;
|
||||
import cn.odboy.devops.dal.model.DevOpsQueryLastPipelineDetailArgs;
|
||||
import cn.odboy.devops.service.PipelineInstanceService;
|
||||
import cn.odboy.devops.service.PipelineTemplateService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceService;
|
||||
import cn.odboy.devops.service.core.PipelineTemplateService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -29,15 +29,18 @@ public class DevopsPipelineInstanceController {
|
||||
@Autowired
|
||||
private PipelineInstanceService pipelineInstanceService;
|
||||
|
||||
/**
|
||||
* 已验证流程
|
||||
*/
|
||||
@ApiOperation("启动流水线")
|
||||
@PostMapping(value = "/start")
|
||||
@PreAuthorize("@el.check()")
|
||||
public ResponseEntity<?> startPipeline() {
|
||||
public ResponseEntity<?> startPipeline(@RequestBody PipelineTemplateTb args) {
|
||||
// 输入参数
|
||||
String appName = "cuteops";
|
||||
String envCode = "daily";
|
||||
// 获取模板
|
||||
PipelineTemplateTb pipelineTemplateTb = pipelineTemplateService.getPipelineTemplateById(4L);
|
||||
PipelineTemplateTb pipelineTemplateTb = pipelineTemplateService.getPipelineTemplateById(args.getId());
|
||||
// 创建流水线实例
|
||||
PipelineInstanceTb pipelineInstanceTb = new PipelineInstanceTb();
|
||||
pipelineInstanceTb.setTemplateId(pipelineTemplateTb.getId());
|
||||
@@ -49,13 +52,26 @@ public class DevopsPipelineInstanceController {
|
||||
return ResponseEntity.ok(pipelineInstanceService.startPipeline(pipelineInstanceTb));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 待实现
|
||||
*/
|
||||
@ApiOperation("重启流水线")
|
||||
@PostMapping(value = "/restart")
|
||||
@PreAuthorize("@el.check()")
|
||||
public ResponseEntity<?> restartPipeline() {
|
||||
public ResponseEntity<?> restartPipeline(@RequestBody PipelineTemplateTb args) {
|
||||
return ResponseEntity.ok("功能开发中");
|
||||
}
|
||||
|
||||
/**
|
||||
* 已验证流程
|
||||
*/
|
||||
@ApiOperation("流水线节点重试")
|
||||
@PostMapping(value = "/retry")
|
||||
@PreAuthorize("@el.check()")
|
||||
public ResponseEntity<?> retryPipelineNode(@RequestBody PipelineTemplateTb args) {
|
||||
String appName = "cuteops";
|
||||
String envCode = "daily";
|
||||
PipelineTemplateTb pipelineTemplateTb = pipelineTemplateService.getPipelineTemplateById(4L);
|
||||
PipelineTemplateTb pipelineTemplateTb = pipelineTemplateService.getPipelineTemplateById(args.getId());
|
||||
PipelineInstanceTb pipelineInstanceTb = new PipelineInstanceTb();
|
||||
pipelineInstanceTb.setTemplateId(pipelineTemplateTb.getId());
|
||||
pipelineInstanceTb.setInstanceName("流水线测试");
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package cn.odboy.devops.controller;
|
||||
|
||||
import cn.odboy.base.CsArgs;
|
||||
import cn.odboy.devops.service.PipelineTemplateService;
|
||||
import cn.odboy.devops.service.core.PipelineTemplateService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
-2
@@ -1,12 +1,10 @@
|
||||
package cn.odboy.devops.dal.dataobject;
|
||||
|
||||
import cn.odboy.base.CsBaseUserTimeLogicTb;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
|
||||
-1
@@ -5,7 +5,6 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@ package cn.odboy.devops.framework.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeDetailService;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeDetailService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
|
||||
import cn.odboy.devops.dal.mysql.PipelineInstanceMapper;
|
||||
import cn.odboy.devops.dal.redis.PipelineInstanceDAO;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
||||
import cn.odboy.framework.context.SpringBeanHolder;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
||||
import cn.odboy.framework.context.SpringBeanHolder;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.service;
|
||||
package cn.odboy.devops.service.core;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeDetailTb;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.service;
|
||||
package cn.odboy.devops.service.core;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.service;
|
||||
package cn.odboy.devops.service.core;
|
||||
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
|
||||
import cn.odboy.devops.dal.model.StartPipelineResultVo;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.service;
|
||||
package cn.odboy.devops.service.core;
|
||||
|
||||
import cn.odboy.devops.dal.dataobject.PipelineTemplateTb;
|
||||
import cn.odboy.devops.dal.mysql.PipelineTemplateMapper;
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package cn.odboy.devops.service.impl;
|
||||
package cn.odboy.devops.service.core.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeDetailTb;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeDetailService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeDetailService;
|
||||
import com.anwen.mongo.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.anwen.mongo.conditions.update.LambdaUpdateChainWrapper;
|
||||
import com.anwen.mongo.service.impl.ServiceImpl;
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package cn.odboy.devops.service.impl;
|
||||
package cn.odboy.devops.service.core.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceTb;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeDetailService;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeDetailService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.anwen.mongo.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.anwen.mongo.service.impl.ServiceImpl;
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.service.impl;
|
||||
package cn.odboy.devops.service.core.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
@@ -13,9 +13,9 @@ import cn.odboy.devops.dal.redis.PipelineInstanceDAO;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineJobManage;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineInstanceVo;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeDataVo;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeDetailService;
|
||||
import cn.odboy.devops.service.PipelineInstanceNodeService;
|
||||
import cn.odboy.devops.service.PipelineInstanceService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeDetailService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
||||
import cn.odboy.devops.service.core.PipelineInstanceService;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import cn.odboy.framework.websocket.context.CsWsClientManager;
|
||||
import cn.odboy.framework.websocket.context.CsWsMessage;
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:安卓包签名
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_apk_sign_android")
|
||||
public class PipelineNodeApkSignAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:人工部署审批
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_approve_deploy")
|
||||
public class PipelineNodeApproveDeployService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Android构建
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_android")
|
||||
public class PipelineNodeBuildAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+9
-4
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.job;
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
@@ -6,8 +6,7 @@ import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.job.biz.PipelineNodeBuildJavaBiz;
|
||||
import cn.odboy.devops.job.biz.PipelineNodeInitBiz;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeBuildJavaBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -16,9 +15,15 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Java构建
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_java")
|
||||
public class PipelineNodeBuildJavaJob extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
public class PipelineNodeBuildJavaService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeBuildJavaBiz pipelineNodeBuildJavaBiz;
|
||||
|
||||
@Override
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Node构建
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_node")
|
||||
public class PipelineNodeBuildNodeService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Npm构建
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_npm")
|
||||
public class PipelineNodeBuildNpmService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Python构建
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build_python")
|
||||
public class PipelineNodeBuildPythonService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:构建
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_build")
|
||||
public class PipelineNodeBuildService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.devops.service.core.PipelineTemplateService;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:前端部署
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_deploy_api")
|
||||
public class PipelineNodeDeployApiService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
private final PipelineTemplateService pipelineTemplateService;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+11
-7
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.job;
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
@@ -7,9 +7,8 @@ import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.job.biz.PipelineNodeBuildJavaBiz;
|
||||
import cn.odboy.devops.job.biz.PipelineNodeDeployJavaBiz;
|
||||
import cn.odboy.devops.service.PipelineTemplateService;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDeployJavaBiz;
|
||||
import cn.odboy.devops.service.core.PipelineTemplateService;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -18,9 +17,15 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Java部署
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_deploy_java")
|
||||
public class PipelineNodeDeployJavaJob extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
public class PipelineNodeDeployJavaService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDeployJavaBiz pipelineNodeDeployJavaBiz;
|
||||
private final PipelineTemplateService pipelineTemplateService;
|
||||
|
||||
@@ -30,7 +35,6 @@ public class PipelineNodeDeployJavaJob extends AbstractPipelineNodeJobService im
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
long templateId = jobDataMap.getLong(PipelineConst.TEMPLATE_ID);
|
||||
PipelineTemplateTb pipelineTemplate = pipelineTemplateService.getPipelineTemplateById(templateId);
|
||||
String templateType = pipelineTemplate.getType();
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
@@ -39,7 +43,7 @@ public class PipelineNodeDeployJavaJob extends AbstractPipelineNodeJobService im
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDeployJavaBiz.deployStart(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDeployJavaBiz.deployJavaByWithContextName(pipelineInstanceNode, contextName, env, templateList, lastNodeResult, templateType);
|
||||
pipelineNodeDeployJavaBiz.deployJavaByWithContextName(pipelineInstanceNode, contextName, env, templateList, lastNodeResult, pipelineTemplate);
|
||||
pipelineNodeDeployJavaBiz.deployFinish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Node部署
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_deploy_python")
|
||||
public class PipelineNodeDeployNodeService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Get调用插件
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_http_get_plugin")
|
||||
public class PipelineNodeHttpGetPluginService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Post调用插件 代码上传扫描结果
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_http_post_plugin-stc_result")
|
||||
public class PipelineNodeHttpPostPluginStcResultService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:Post调用插件 代码上传扫描
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_http_post_plugin-stc_upload")
|
||||
public class PipelineNodeHttpPostPluginStcUploadService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:镜像扫描
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_image_scan")
|
||||
public class PipelineNodeImageScanService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+9
-3
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.job;
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
@@ -6,7 +6,7 @@ import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.job.biz.PipelineNodeInitBiz;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeInitBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -16,10 +16,16 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:初始化准备
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@Slf4j
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_init")
|
||||
@RequiredArgsConstructor
|
||||
public class PipelineNodeInitJob extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
public class PipelineNodeInitService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeInitBiz pipelineNodeInitBiz;
|
||||
|
||||
@Override
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:安卓发布包加固混淆
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_mpaas_start_android")
|
||||
public class PipelineNodeMPassStartAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:上传安卓发布包
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_mpaas_upload_android")
|
||||
public class PipelineNodeMPassUploadAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+9
-4
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.job;
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
@@ -6,8 +6,7 @@ import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.job.biz.PipelineNodeInitBiz;
|
||||
import cn.odboy.devops.job.biz.PipelineNodeMergeBranchBiz;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeMergeBranchBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -16,9 +15,15 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:分支合并
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_merge_branch")
|
||||
public class PipelineNodeMergeBranchJob extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
public class PipelineNodeMergeBranchService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeMergeBranchBiz pipelineNodeMergeBranchBiz;
|
||||
|
||||
@Override
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:人工合并确认
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_merge_confirm")
|
||||
public class PipelineNodeMergeConfirmService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:合并release到master
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_merge_master")
|
||||
public class PipelineNodeMergeMasterService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.odboy.devops.service.pipeline;
|
||||
|
||||
import cn.odboy.devops.constant.pipeline.PipelineConst;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.AbstractPipelineNodeJobService;
|
||||
import cn.odboy.devops.framework.pipeline.core.PipelineNodeJobExecutor;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import cn.odboy.devops.service.pipeline.node.PipelineNodeDemoBiz;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水线节点任务:特殊合并到release分支
|
||||
*
|
||||
* @author odboy
|
||||
* @date 2025-07-24
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service(value = PipelineConst.EXECUTOR_PREFIX + "node_release_android")
|
||||
public class PipelineNodeReleaseAndroidService extends AbstractPipelineNodeJobService implements PipelineNodeJobExecutor {
|
||||
private final PipelineNodeDemoBiz pipelineNodeDemoBiz;
|
||||
|
||||
@Override
|
||||
public PipelineNodeJobExecuteResult execute(JobDataMap jobDataMap) throws BadRequestException {
|
||||
// 参数列表
|
||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||
PipelineNodeTemplateVo currentNodeTemplate = (PipelineNodeTemplateVo) jobDataMap.get(PipelineConst.CURRENT_NODE_TEMPLATE);
|
||||
PipelineInstanceNodeTb pipelineInstanceNode = getCurrentNodeInfo(instanceId, currentNodeTemplate.getCode());
|
||||
String contextName = jobDataMap.getString(PipelineConst.CONTEXT_NAME);
|
||||
String env = jobDataMap.getString(PipelineConst.ENV);
|
||||
List<PipelineNodeTemplateVo> templateList = JSON.parseArray(jobDataMap.getString(PipelineConst.TEMPLATE), PipelineNodeTemplateVo.class);
|
||||
PipelineNodeJobExecuteResult lastNodeResult = (PipelineNodeJobExecuteResult) jobDataMap.get(PipelineConst.LAST_NODE_RESULT);
|
||||
// 步骤执行
|
||||
pipelineNodeDemoBiz.start(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
pipelineNodeDemoBiz.finish(pipelineInstanceNode, contextName, env, templateList, lastNodeResult);
|
||||
return PipelineNodeJobExecuteResult.success();
|
||||
}
|
||||
}
|
||||
+6
-3
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.job.biz;
|
||||
package cn.odboy.devops.service.pipeline.node;
|
||||
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
@@ -16,18 +16,21 @@ public class PipelineNodeBuildJavaBiz {
|
||||
|
||||
@PipelineNodeStepLog("构建开始")
|
||||
public void buildJavaStart(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("构建中")
|
||||
public void startGitlabPipeline(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("上传包到OSS")
|
||||
public void uploadPackageToOss(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("构建完成")
|
||||
public void buildJavaFinish(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package cn.odboy.devops.service.pipeline.node;
|
||||
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.framework.pipeline.log.PipelineNodeStepLog;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class PipelineNodeDemoBiz {
|
||||
|
||||
@PipelineNodeStepLog("开始")
|
||||
public void start(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("完成")
|
||||
public void finish(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
}
|
||||
+5
-4
@@ -1,7 +1,8 @@
|
||||
package cn.odboy.devops.job.biz;
|
||||
package cn.odboy.devops.service.pipeline.node;
|
||||
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineTemplateTb;
|
||||
import cn.odboy.devops.framework.pipeline.log.PipelineNodeStepLog;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||
@@ -15,16 +16,16 @@ import java.util.List;
|
||||
public class PipelineNodeDeployJavaBiz {
|
||||
@PipelineNodeStepLog("部署开始")
|
||||
public void deployStart(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("部署中")
|
||||
public void deployJavaByWithContextName(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult, String templateType) {
|
||||
public void deployJavaByWithContextName(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult, PipelineTemplateTb templateType) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("部署完成")
|
||||
public void deployFinish(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.job.biz;
|
||||
package cn.odboy.devops.service.pipeline.node;
|
||||
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
public class PipelineNodeInitBiz {
|
||||
@PipelineNodeStepLog("初始化开始")
|
||||
public void initStart(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("Master分支合并到Release分支")
|
||||
@@ -30,6 +30,6 @@ public class PipelineNodeInitBiz {
|
||||
|
||||
@PipelineNodeStepLog("初始化完成")
|
||||
public void initFinish(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package cn.odboy.devops.job.biz;
|
||||
package cn.odboy.devops.service.pipeline.node;
|
||||
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.odboy.devops.dal.dataobject.PipelineInstanceNodeTb;
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
public class PipelineNodeMergeBranchBiz {
|
||||
@PipelineNodeStepLog("分支合并开始")
|
||||
public void mergeBranchStart(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
|
||||
@PipelineNodeStepLog("集成区分支合并到release分支")
|
||||
@@ -25,6 +25,6 @@ public class PipelineNodeMergeBranchBiz {
|
||||
|
||||
@PipelineNodeStepLog("分支合并完成")
|
||||
public void mergeBranchFinish(PipelineInstanceNodeTb pipelineInstanceNode, String contextName, String env, List<PipelineNodeTemplateVo> templateList, PipelineNodeJobExecuteResult lastNodeResult) {
|
||||
ThreadUtil.safeSleep(2000);
|
||||
ThreadUtil.safeSleep(1000);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user