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