From 9a1fbe683db3ff576f9d8995f4b9e3392ccbcf6e Mon Sep 17 00:00:00 2001 From: gitadmin Date: Thu, 18 Sep 2025 21:08:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=BE=E5=85=A5=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config-file/imagesConfig.yml | 47 +++- config-file/xiaomayiConfig copy.yml | 368 ++++++++++++++++++++++++++++ config-file/xiaomayiConfig.yml | 65 ++++- 3 files changed, 468 insertions(+), 12 deletions(-) create mode 100644 config-file/xiaomayiConfig copy.yml diff --git a/config-file/imagesConfig.yml b/config-file/imagesConfig.yml index bd7d13d..3618cb4 100644 --- a/config-file/imagesConfig.yml +++ b/config-file/imagesConfig.yml @@ -34,6 +34,10 @@ common: depth: 1 # 浅克隆深度,只获取最近的一次提交 shallow: true # 启用浅克隆,减少克隆时间 timeout: 10 # 克隆操作超时时间(分钟) + # 钉钉消息 + dingtalk: + # 凭证ID - Jenkins中存储的DingTalk认证凭据ID + credentialsId: "jenkins-dingtalk-robot" # ============================================================================== # 镜像仓库配置 - 定义不同的容器镜像仓库 @@ -104,21 +108,21 @@ common: # 构建成功通知配置 success: # 收件人列表 - 成功时通知的邮箱地址 - recipients: ["xiaomayicloud@163.com"] + recipients: ["xiaomayicloud@163.com", "575073565@qq.com", "txwz2006@126.com"] # 通知渠道 - 使用的通知方式 - channels: ["email", "slack"] + channels: ["email", "dingtalk", "slack"] # 构建失败通知配置 failure: # 收件人列表 - 失败时通知的邮箱地址 recipients: ["xiaomayicloud@163.com"] # 通知渠道 - 失败时使用的通知方式 - channels: ["email", "slack", "sms"] + channels: ["email", "dingtalk", "slack", "sms"] # 构建不稳定通知配置 unstable: # 收件人列表 - 不稳定时通知的邮箱地址 recipients: ["xiaomayicloud@163.com"] # 通知渠道 - 不稳定时使用的通知方式 - channels: ["email"] + channels: ["email", "dingtalk"] # 构建策略 - 构建过程的策略配置 buildStrategy: @@ -214,6 +218,22 @@ serviceConfig: # 镜像标签 tags: - "17.0.16-ubuntu22-dos" # 包含系统和版本信息的标签 + # JDK 17.0.16 Debian 13 镜像配置 + jdk17.0.16-debian13-dos: + baseImage: "debian:trixie-slim" # Ubuntu 22.04基础镜像 + dockerContext: "dockerfiles/jdk/17.0.16-debian13-dos" # 构建上下文路径 + imageName: jdk # 镜像名称 + # 资源文件 + resources: + fonts: + - source: "fonts/simsun.ttf" # 字体文件源路径 + target: "fonts" # 容器内目标路径 + jdk: + - source: "jdk-17.0.16_linux-x64_bin.tar.gz" # JDK安装包源文件 + target: "" # 容器内临时存放路径 + # 镜像标签 + tags: + - "17.0.16-debian13-dos" # 包含系统和版本信息的标签 # JRE 8u202 CentOS 8 镜像配置 jre8u202-centos8-dos: @@ -271,6 +291,25 @@ serviceConfig: # 镜像标签列表 - 构建完成后打标签的名称 tags: - "8u202-utunbu22-dos" # 版本化标签(包含版本和系统信息) + + # JRE 8u202 CentOS 8 镜像配置 + jre8u202-debian13-dos: + baseImage: "debian:trixie-slim" # 基础镜像名称 + dockerContext: "dockerfiles/jre/8u202-debian13-dos" # Docker构建上下文路径 + imageName: jre # 生成的镜像名称 + # 资源文件 - 构建时需要复制的文件资源 + resources: + # 字体文件配置 + fonts: + - source: "fonts/simsun.ttf" # 源文件路径(相对构建上下文) + target: "fonts" # 目标容器内路径 + # JDK安装包配置 + jdk: + - source: "jre-8u202-linux-x64.tar.gz" # JRE安装包源文件 + target: "" # 容器内临时存放路径 + # 镜像标签列表 - 构建完成后打标签的名称 + tags: + - "8u202-debian13-dos" # 版本化标签(包含版本和系统信息) # Go 1.25.1 CentOS 8 镜像配置 go1.25.1-centos8-dos: diff --git a/config-file/xiaomayiConfig copy.yml b/config-file/xiaomayiConfig copy.yml new file mode 100644 index 0000000..6761996 --- /dev/null +++ b/config-file/xiaomayiConfig copy.yml @@ -0,0 +1,368 @@ +# ============================================================================== +# 通用配置块 - 包含所有环境共享的配置项 +# ============================================================================== +common: + # 镜像仓库配置 - 定义不同的容器镜像仓库 + registrys: + # 默认仓库配置 - 内部私有仓库 + default: + # 内部私有仓库地址 - 企业内部部署的Harbor或Registry地址 + registry: "192.168.10.102:8001" + # Jenkins凭证ID - 用于仓库认证的凭据ID + registryCredential: "xiaomayi-hub-credentials" + # 仓库中的项目/命名空间名称 - 镜像存放的项目空间 + registryProject: "xiaomayi" + # 仓库类型 - 仓库的技术类型(harbor、acr、dockerhub等) + registryType: "harbor" + # 应用部署基础镜像 + registryImage: "jdk:17.0.16-ubuntu22-dos" + + # 阿里云ACR仓库配置 - 云上仓库,用于生产环境或特定场景 + aliyun: + # 阿里云VPC内网地址 - 阿里云容器镜像服务的VPC内网地址,网络性能更优 + registry: "registry-vpc.cn-hangzhou.aliyuncs.com" + # 阿里云仓库认证凭证 - 阿里云访问凭据的Jenkins ID + registryCredential: "aliyun-hub-credentials" + # 阿里云仓库项目名称 - 阿里云ACR中的命名空间 + registryProject: "xiaomayi-base" + # 仓库类型 - 阿里云容器镜像服务 + registryType: "acr" + # 应用部署基础镜像 + registryImage: "jdk:17.0.16-ubuntu22-dos" + # Docker Hub配置 - 官方Docker仓库,用于公开镜像 + dockerhub: + # Docker Hub地址 - 官方Docker仓库地址 + registry: "index.docker.io" + # Docker Hub认证凭证 - Docker Hub账号的Jenkins凭据ID + registryCredential: "dockerhub-credentials" + # Docker Hub项目名称 - 用户名或组织名 + registryProject: "xiaomayi-base" + # 仓库类型 - 官方Docker仓库 + registryType: "dockerhub" + # 应用部署基础镜像 + registryImage: "jdk:17.0.16-ubuntu22-dos" + + # 钉钉消息 + dingtalk: + # 凭证ID - Jenkins中存储的DingTalk认证凭据ID + credentialsId: "jenkins-dingtalk-robot" + + # 通知配置 - 构建结果通知设置 + notification: + # 构建成功通知配置 + success: + # 收件人列表 - 成功时通知的邮箱地址 + recipients: ["xiaomayicloud@163.com", "575073565@qq.com"] + # 通知渠道 - 使用的通知方式 + channels: ["email", "dingtalk", "slack"] + # 构建失败通知配置 + failure: + # 收件人列表 - 失败时通知的邮箱地址 + recipients: ["xiaomayicloud@163.com"] + # 通知渠道 - 失败时使用的通知方式 + channels: ["email", "dingtalk", "slack", "sms"] + # 构建不稳定通知配置 + unstable: + # 收件人列表 - 不稳定时通知的邮箱地址 + recipients: ["xiaomayicloud@163.com"] + # 通知渠道 - 不稳定时使用的通知方式 + channels: ["email", "dingtalk"] + + # 构建策略 - 构建过程的策略配置 + buildStrategy: + retryCount: 3 # 构建失败重试次数 + timeoutMinutes: 60 # 构建超时时间(分钟) + cleanupWorkspace: true # 构建完成后是否清理工作空间 + enableCaching: true # 是否启用Docker构建缓存 + + # 部署相关配置 + deployScript: "deploy.sh" # 部署执行的shell脚本文件名 + deployPath: "/usr/local/docker/xiaomayi-web/" # 目标服务器上的应用部署根路径 + + # 环境配置文件 - 定义不同环境的特定配置 + profiles: + # -------------------------------------------------------------------------- + # 开发环境配置 - 用于开发测试,部署频率高,配置相对宽松 + # -------------------------------------------------------------------------- + dev: + # 容器镜像 + registry: "default" + + # 服务器列表 - 部署目标服务器 + servers: + - serverIP: "esxi@192.168.10.201" # 服务器SSH连接地址(用户名@IP) + serverPort: 22 # SSH端口号 + serverName: "S201服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: true # 主节点标识,优先部署 + priority: 1 # 部署优先级(数字越小优先级越高) + + - serverIP: "esxi@192.168.10.202" # 服务器SSH连接地址(用户名@IP) + serverPort: 22 # SSH端口号 + serverName: "S202服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: false # 主节点标识,优先部署 + priority: 2 # 部署优先级(数字越小优先级越高) + + # 环境变量 - 部署时注入到容器中的环境变量 + envVars: + SPRING_PROFILES_ACTIVE: "dev" # Spring Boot激活的配置文件环境 + JAVA_OPTS: "-Xms512m -Xmx512m" # JVM内存参数:初始堆512MB,最大堆512MB + LOG_LEVEL: "INFO" # 日志级别:INFO + TZ: "Asia/Shanghai" # 时区设置:亚洲/上海 + + # 部署策略配置 + deploymentStrategy: "rolling" # 部署策略:rolling-滚动部署 + deploymentTimeout: 3600 # 整体部署超时时间(3600秒=1小时) + maxParallel: 2 # 最大并行部署服务器数量 + retryAttempts: 3 # 部署失败重试次数 + + # 健康检查配置 + healthCheckPath: "/actuator/health" # 健康检查端点 + healthCheckTimeout: 180 # 健康检查超时时间(180秒=3分钟) + healthCheckInterval: 10 # 健康检查间隔(10秒) + successThreshold: 3 # 成功阈值(连续3次检查成功才算健康) + + # -------------------------------------------------------------------------- + # 测试环境配置 - 用于集成测试,配置接近生产环境 + # -------------------------------------------------------------------------- + test: + # 容器镜像 + registry: "default" + + # 服务器列表 - 部署目标服务器 + servers: + - serverIP: "esxi@192.168.10.201" # 服务器SSH连接地址(用户名@IP) + serverPort: 22 # SSH端口号 + serverName: "S201服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: true # 主节点标识,优先部署 + priority: 1 # 部署优先级(数字越小优先级越高) + + - serverIP: "esxi@192.168.10.202" # 服务器SSH连接地址(用户名@IP) + serverPort: 22 # SSH端口号 + serverName: "S201服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: false # 主节点标识,优先部署 + priority: 2 # 部署优先级(数字越小优先级越高) + + # 环境变量 - 部署时注入到容器中的环境变量 + envVars: + SPRING_PROFILES_ACTIVE: "test" # 测试环境配置文件 + JAVA_OPTS: "-Xms1g -Xmx1g" # JVM内存:1GB堆内存 + LOG_LEVEL: "INFO" + TZ: "Asia/Shanghai" + + # 部署策略配置 + deploymentStrategy: "rolling" + deploymentTimeout: 3600 # 整体部署超时时间(3600秒=1小时) + maxParallel: 1 # 测试环境串行部署,便于问题排查 + retryAttempts: 2 + + # 健康检查配置 + healthCheckPath: "/actuator/health" # 健康检查端点 + healthCheckTimeout: 180 # 健康检查超时时间(180秒=3分钟) + healthCheckInterval: 10 # 健康检查间隔(10秒) + successThreshold: 3 # 成功阈值(连续3次检查成功才算健康) + + # -------------------------------------------------------------------------- + # 用户验收测试环境配置 - 模拟生产环境,用于最终验收测试 + # -------------------------------------------------------------------------- + uat: + # 容器镜像 + registry: "default" + + # 服务器列表 - 部署目标服务器 + servers: + - serverIP: "esxi@192.168.10.201" # 服务器SSH连接地址(用户名@IP) + serverPort: 22 # SSH端口号 + serverName: "S201服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: true # 主节点标识,优先部署 + priority: 1 # 部署优先级(数字越小优先级越高) + + - serverIP: "esxi@192.168.10.202" # 服务器SSH连接地址(用户名@IP) + serverPort: 22 # SSH端口号 + serverName: "S201服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: false # 主节点标识,优先部署 + priority: 2 # 部署优先级(数字越小优先级越高) + + # 环境变量 - 部署时注入到容器中的环境变量 + envVars: + SPRING_PROFILES_ACTIVE: "uat" # UAT环境配置文件 + JAVA_OPTS: "-Xms2g -Xmx2g" # JVM内存:2GB堆内存 + LOG_LEVEL: "INFO" + TZ: "Asia/Shanghai" + + # 部署策略配置 + deploymentStrategy: "blue-green" # 蓝绿部署策略,减少停机时间 + deploymentTimeout: 3600 # 整体部署超时时间(3600秒=1小时) + maxParallel: 1 + retryAttempts: 1 # UAT环境不重试,立即反馈问题 + + # 健康检查配置 + healthCheckPath: "/actuator/health" # 健康检查端点 + healthCheckTimeout: 180 # 健康检查超时时间(180秒=3分钟) + healthCheckInterval: 10 # 健康检查间隔(10秒) + successThreshold: 3 # 成功阈值(连续3次检查成功才算健康) + + # -------------------------------------------------------------------------- + # 生产环境配置 - 线上真实环境,配置最为严格 + # -------------------------------------------------------------------------- + prod: + # 容器镜像 + registry: "default" + + # 服务器列表 - 部署目标服务器 + servers: + - serverIP: "esxi@124.222.176.210" # 服务器SSH连接地址(用户名@IP) + serverPort: 12422 # SSH端口号 + serverName: "S210服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: true # 主节点标识,优先部署 + priority: 1 # 部署优先级(数字越小优先级越高) + + - serverIP: "esxi@124.222.176.210" # 服务器SSH连接地址(用户名@IP) + serverPort: 12422 # SSH端口号 + serverName: "S220服务器" # 服务器标识名称,用于日志和通知 + sshKey: "jenkins-ssh-207" # Jenkins SSH密钥凭证ID + weight: 50 # 负载权重(0-100),用于流量控制 + isPrimary: false # 主节点标识,优先部署 + priority: 2 # 部署优先级(数字越小优先级越高) + + # 环境变量 - 部署时注入到容器中的环境变量 + envVars: + SPRING_PROFILES_ACTIVE: "prod" # 生产环境配置文件 + JAVA_OPTS: "-Xms4g -Xmx4g" # JVM内存:4GB堆内存 + LOG_LEVEL: "WARN" # 生产环境使用WARN级别日志,减少日志量 + TZ: "Asia/Shanghai" + GC_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis=200" # GC调优参数:使用G1垃圾回收器 + + # 部署策略配置 + deploymentStrategy: "canary" # 金丝雀部署策略,逐步发布降低风险 + deploymentTimeout: 3600 # 整体部署超时时间(3600秒=1小时) + maxParallel: 1 # 生产环境单台串行部署,确保稳定性 + retryAttempts: 3 # 部署失败重试次数 + canaryPercentage: 25 # 首批金丝雀发布比例(25%) + + # 健康检查配置 + healthCheckEnabled: true # 启用健康检查 + healthCheckPath: "/actuator/health" # 健康检查端点 + healthCheckTimeout: 180 # 健康检查超时时间(180秒=3分钟) + healthCheckRetries: 5 # 健康检查5次重试 + healthCheckInterval: 10 # 健康检查间隔(10秒) + successThreshold: 3 # 成功阈值(连续3次检查成功才算健康) + + # 回滚配置 + rollbackEnabled: true # 启用自动回滚 + rollbackOnFailure: true # 部署失败时自动回滚 + rollbackTimeout: 300 # 回滚操作超时时间(300秒=5分钟) + + # 通知配置 - 生产环境部署状态通知 + notifications: + slackChannel: "#prod-deployments" # Slack通知频道 + email: "xiaomayicloud@163.com" # 主要邮件通知地址 + onSuccess: true # 成功时发送通知 + onFailure: true # 失败时发送通知 + onStart: true # 开始部署时发送通知 + recipients: # 额外通知人员邮件列表 + - "devops@xiaomayi.com" + - "product-manager@xiaomayi.com" + +# ============================================================================== +# 分支构建配置 - 定义不同Git分支的构建参数 +# ============================================================================== +branchConfig: + # 开发分支配置 + dev: + # Jenkins代理 + jenkinsAgent: "S205-docker" + # Maven构建配置 - Java应用编译和打包 + maven: + mavenSet: "nexus-maven-dev" # Maven配置集名称 + skipTests: true # 生产构建不跳过测试 + goals: "clean package" # Maven执行目标 + options: "" # Maven选项参数 + # Docker镜像构建配置 + docker: + dockerFile: ".jenkins/Dockerfile" # 使用的Dockerfile文件 + buildOptions: "--no-cache --pull" # Docker构建选项:禁用缓存、总是拉取最新基础镜像 + + # 测试分支配置 + test: + # Jenkins代理 + jenkinsAgent: "S205-docker" + # Maven构建配置 - Java应用编译和打包 + maven: + mavenSet: "nexus-maven-test" # Maven配置集名称 + skipTests: true # 生产构建不跳过测试 + goals: "clean package" # Maven执行目标 + options: "" # Maven选项参数 + # Docker镜像构建配置 + docker: + dockerFile: ".jenkins/Dockerfile" # 使用的Dockerfile文件 + buildOptions: "--no-cache --pull" # Docker构建选项:禁用缓存、总是拉取最新基础镜像 + + # 主分支配置(生产环境) + master: + # Jenkins代理 + jenkinsAgent: "S205-docker" + # Maven构建配置 - Java应用编译和打包 + maven: + mavenSet: "nexus-maven-dev" # Maven配置集名称 + skipTests: false # 生产构建不跳过测试 + goals: "clean package" # Maven执行目标 + options: "" # Maven选项参数 + # Docker镜像构建配置 + docker: + dockerFile: ".jenkins/Dockerfile" # 使用的Dockerfile文件 + buildOptions: "--no-cache --pull" # Docker构建选项:禁用缓存、总是拉取最新基础镜像 + + +# ============================================================================== +# 服务配置 - 定义每个微服务的特定配置 +# ============================================================================== +serviceConfig: + # 后台系统 + xiaomayi-admin: + programLang: "java" + programLangVersion: "17.0.16" + containerName: "xiaomayi-admin" + pomFilePath: "pom.xml" + servicePath: "xiaomayi-modules/xiaomayi-admin" + jarName: "xiaomayi-admin.jar" + port: "8081" + javaOpts: "-server -Xms256m -Xmx2g -Xss1m" + deployServer: "servers[0]" + composeFile: "docker-compose" + xiaomayi-admin-ui: + programLang: "nodejs" + programLangVersion: "22.19.0" + deployMethod: "static" + projectName: "xiaomayi-admin-ui" + packageName: "xiaomayi-admin-ui.tar.gz" + servicePath: "xiaomayi-ui" + containerName: "xiaomayi-admin-ui" + port: "8001" + deployServer: "servers[0]" + composeFile: "docker-compose" + # 前台网站 + xiaomayi-web: + programLang: "java" + programLangVersion: "17.0.16" + containerName: "xiaomayi-web2" + pomFilePath: "pom.xml" + servicePath: "xiaomayi-modules/xiaomayi-web" + jarName: "xiaomayi-web.jar" + port: "8082" + javaOpts: "-server -Xms256m -Xmx2g -Xss1m" + deployServer: "servers[0]" + composeFile: "docker-compose" \ No newline at end of file diff --git a/config-file/xiaomayiConfig.yml b/config-file/xiaomayiConfig.yml index 5b71e44..5628ac0 100644 --- a/config-file/xiaomayiConfig.yml +++ b/config-file/xiaomayiConfig.yml @@ -6,25 +6,74 @@ common: registrys: # 默认仓库配置 - 内部私有仓库 default: - # 内部私有仓库地址 + # 内部私有仓库地址 - 企业内部部署的Harbor或Registry地址 registry: "192.168.10.102:8001" - # Jenkins凭证ID,用于仓库认证 + # Jenkins凭证ID - 用于仓库认证的凭据ID registryCredential: "xiaomayi-hub-credentials" - # 仓库中的项目/命名空间名称 + # 仓库中的项目/命名空间名称 - 镜像存放的项目空间 registryProject: "xiaomayi" + # 仓库类型 - 仓库的技术类型(harbor、acr、dockerhub等) + registryType: "harbor" # 应用部署基础镜像 registryImage: "jdk:17.0.16-ubuntu22-dos" # 阿里云ACR仓库配置 - 云上仓库,用于生产环境或特定场景 - acr: - # 阿里云VPC内网地址,网络性能更优 + aliyun: + # 阿里云VPC内网地址 - 阿里云容器镜像服务的VPC内网地址,网络性能更优 registry: "registry-vpc.cn-hangzhou.aliyuncs.com" - # 阿里云仓库认证凭证 + # 阿里云仓库认证凭证 - 阿里云访问凭据的Jenkins ID registryCredential: "aliyun-hub-credentials" - # 阿里云仓库项目名称 - registryProject: "xiaomayi" + # 阿里云仓库项目名称 - 阿里云ACR中的命名空间 + registryProject: "xiaomayi-base" + # 仓库类型 - 阿里云容器镜像服务 + registryType: "acr" # 应用部署基础镜像 registryImage: "jdk:17.0.16-ubuntu22-dos" + # Docker Hub配置 - 官方Docker仓库,用于公开镜像 + dockerhub: + # Docker Hub地址 - 官方Docker仓库地址 + registry: "index.docker.io" + # Docker Hub认证凭证 - Docker Hub账号的Jenkins凭据ID + registryCredential: "dockerhub-credentials" + # Docker Hub项目名称 - 用户名或组织名 + registryProject: "xiaomayi-base" + # 仓库类型 - 官方Docker仓库 + registryType: "dockerhub" + # 应用部署基础镜像 + registryImage: "jdk:17.0.16-ubuntu22-dos" + + # 钉钉消息 + dingtalk: + # 凭证ID - Jenkins中存储的DingTalk认证凭据ID + credentialsId: "jenkins-dingtalk-robot" + + # 通知配置 - 构建结果通知设置 + notification: + # 构建成功通知配置 + success: + # 收件人列表 - 成功时通知的邮箱地址 + recipients: ["xiaomayicloud@163.com", "575073565@qq.com", "txwz2006@126.com"] + # 通知渠道 - 使用的通知方式 + channels: ["email", "dingtalk", "slack"] + # 构建失败通知配置 + failure: + # 收件人列表 - 失败时通知的邮箱地址 + recipients: ["xiaomayicloud@163.com"] + # 通知渠道 - 失败时使用的通知方式 + channels: ["email", "dingtalk", "slack", "sms"] + # 构建不稳定通知配置 + unstable: + # 收件人列表 - 不稳定时通知的邮箱地址 + recipients: ["xiaomayicloud@163.com"] + # 通知渠道 - 不稳定时使用的通知方式 + channels: ["email", "dingtalk"] + + # 构建策略 - 构建过程的策略配置 + buildStrategy: + retryCount: 3 # 构建失败重试次数 + timeoutMinutes: 60 # 构建超时时间(分钟) + cleanupWorkspace: true # 构建完成后是否清理工作空间 + enableCaching: true # 是否启用Docker构建缓存 # 部署相关配置 deployScript: "deploy.sh" # 部署执行的shell脚本文件名