diff --git a/config-file/imagesConfig.yml b/config-file/imagesConfig.yml index 32dd2fd..4a5b077 100644 --- a/config-file/imagesConfig.yml +++ b/config-file/imagesConfig.yml @@ -75,7 +75,138 @@ common: registryProject: "xiaomayi-base" # 仓库类型 - 官方Docker仓库 registryType: "dockerhub" - + + # 通知配置 - 构建结果通知设置 + notification: + # 构建成功通知配置 + success: + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 短信通知 + #sms: ["15295504151"] + # 钉钉通知 + dingtalk: true + # Slack通知 + slack: false + # 构建失败通知配置 + failure: + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 短信通知 + # sms: ["15295504151"] + # 钉钉通知 + dingtalk: true + # Slack通知 + slack: false + # 构建被中止通知 + aborted: + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 短信通知 + #sms: ["15295504151"] + # 钉钉通知 + dingtalk: true + # Slack通知 + slack: false + # 构建不稳定通知配置 + unstable: + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 钉钉通知 + dingtalk: true + + # 构建策略 - 构建过程的策略配置 + buildStrategy: + retryCount: 3 # 构建失败重试次数 + timeoutMinutes: 60 # 构建超时时间(分钟) + cleanupWorkspace: true # 构建完成后是否清理工作空间 + enableCaching: true # 是否启用Docker构建缓存 + + # ============================================================================== + # 短信服务配置 + # 描述: 定义短信通知服务的相关配置,支持多种短信服务商和模板配置 + # ============================================================================== + + # 短信服务提供商配置 + sms: + # 短信服务商 - 指定使用的短信服务平台 + # 可选值: + # - 'aliyun': 阿里云短信服务(推荐) + # - 'tencent': 腾讯云短信服务 + # - 'yunpian': 云片短信服务 + provider: 'aliyun' + + # Jenkins凭据ID - 存储短信服务认证信息的Jenkins凭据标识 + # 凭据内容格式建议为JSON或key=value格式,包含accessKeyId/accessKeySecret等认证信息 + credentialsId: 'jenkins-aliyun-credentials' + + # 默认短信签名 - 在短信开头显示的签名内容 + # 需要先在短信服务平台申请并通过审核的签名 + signName: '小蚂蚁云' + + # ============================================================================== + # 短信模板配置 - 定义不同场景下的短信模板 + # 每个模板需要先在短信服务平台创建并通过审核 + # ============================================================================== + templates: + # -------------------------------------------------------------------------- + # 构建成功短信模板配置 + # 用途: 当构建任务成功完成时发送的通知短信 + # -------------------------------------------------------------------------- + build_success: + # 模板代码 - 短信服务平台审核通过的模板ID + # 阿里云: SMS_开头的一串数字字母组合 + # 腾讯云: 纯数字模板ID + # 云片: 长整型数字模板ID + templateCode: 'SMS_231440070' + + # 模板签名 - 可覆盖默认签名,使用特定的签名 + # 如果未设置,则使用顶层的默认签名 + signName: '小蚂蚁云' + + # 模板变量说明(在短信平台配置时定义): + # 通常包含: project, branch, status, duration, time 等变量 + # 示例模板内容: "您的项目${project}构建${status},耗时${duration},时间${time}" + + # -------------------------------------------------------------------------- + # 构建失败短信模板配置 + # 用途: 当构建任务失败时发送的告警短信 + # -------------------------------------------------------------------------- + build_failure: + # 模板代码 - 失败通知的专用模板ID + templateCode: 'SMS_231440070' + + # 模板签名 - 失败通知使用的签名 + signName: '小蚂蚁云' + + # 模板变量说明: + # 通常包含: project, branch, status, duration, error, time 等变量 + # 示例模板内容: "警告:项目${project}构建${status},错误:${error},时间${time}" + + # -------------------------------------------------------------------------- + # 部署通知短信模板(示例配置,可根据需要启用) + # 用途: 当应用部署完成时发送的通知短信 + # -------------------------------------------------------------------------- + # deployment: + # templateCode: 'SMS_DEPLOY_001' + # signName: '小蚂蚁云' + + # -------------------------------------------------------------------------- + # 系统告警短信模板(示例配置,可根据需要启用) + # 用途: 当系统发生异常或达到告警阈值时发送的短信 + # -------------------------------------------------------------------------- + # alert: + # templateCode: 'SMS_ALERT_001' + # signName: '小蚂蚁云' + # 环境配置文件 - 定义不同环境的特定配置 profiles: # -------------------------------------------------------------------------- @@ -103,34 +234,6 @@ common: # 容器镜像 registry: "default" - # 通知配置 - 构建结果通知设置 - 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构建缓存 - # ============================================================================== # 分支构建配置 - 定义不同Git分支的构建参数 # ============================================================================== diff --git a/config-file/xiaomayiConfig copy.yml b/config-file/xiaomayiConfig copy.yml deleted file mode 100644 index 6761996..0000000 --- a/config-file/xiaomayiConfig copy.yml +++ /dev/null @@ -1,368 +0,0 @@ -# ============================================================================== -# 通用配置块 - 包含所有环境共享的配置项 -# ============================================================================== -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 5628ac0..1b2b627 100644 --- a/config-file/xiaomayiConfig.yml +++ b/config-file/xiaomayiConfig.yml @@ -51,22 +51,48 @@ common: notification: # 构建成功通知配置 success: - # 收件人列表 - 成功时通知的邮箱地址 - recipients: ["xiaomayicloud@163.com", "575073565@qq.com", "txwz2006@126.com"] - # 通知渠道 - 使用的通知方式 - channels: ["email", "dingtalk", "slack"] + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 短信通知 + #sms: ["15295504151"] + # 钉钉通知 + dingtalk: true + # Slack通知 + slack: false # 构建失败通知配置 failure: - # 收件人列表 - 失败时通知的邮箱地址 - recipients: ["xiaomayicloud@163.com"] - # 通知渠道 - 失败时使用的通知方式 - channels: ["email", "dingtalk", "slack", "sms"] + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 短信通知 + # sms: ["15295504151"] + # 钉钉通知 + dingtalk: true + # Slack通知 + slack: false + # 构建被中止通知 + aborted: + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 短信通知 + #sms: ["15295504151"] + # 钉钉通知 + dingtalk: true + # Slack通知 + slack: false # 构建不稳定通知配置 unstable: - # 收件人列表 - 不稳定时通知的邮箱地址 - recipients: ["xiaomayicloud@163.com"] - # 通知渠道 - 不稳定时使用的通知方式 - channels: ["email", "dingtalk"] + # 通知渠道 + channels: + # 邮件通知 + email: ["xiaomayicloud@163.com"] + # 钉钉通知 + dingtalk: true # 构建策略 - 构建过程的策略配置 buildStrategy: @@ -79,6 +105,83 @@ common: deployScript: "deploy.sh" # 部署执行的shell脚本文件名 deployPath: "/usr/local/docker/xiaomayi-web/" # 目标服务器上的应用部署根路径 + # ============================================================================== + # 短信服务配置 + # 描述: 定义短信通知服务的相关配置,支持多种短信服务商和模板配置 + # ============================================================================== + + # 短信服务提供商配置 + sms: + # 短信服务商 - 指定使用的短信服务平台 + # 可选值: + # - 'aliyun': 阿里云短信服务(推荐) + # - 'tencent': 腾讯云短信服务 + # - 'yunpian': 云片短信服务 + provider: 'aliyun' + + # Jenkins凭据ID - 存储短信服务认证信息的Jenkins凭据标识 + # 凭据内容格式建议为JSON或key=value格式,包含accessKeyId/accessKeySecret等认证信息 + credentialsId: 'jenkins-aliyun-credentials' + + # 默认短信签名 - 在短信开头显示的签名内容 + # 需要先在短信服务平台申请并通过审核的签名 + signName: '小蚂蚁云' + + # ============================================================================== + # 短信模板配置 - 定义不同场景下的短信模板 + # 每个模板需要先在短信服务平台创建并通过审核 + # ============================================================================== + templates: + # -------------------------------------------------------------------------- + # 构建成功短信模板配置 + # 用途: 当构建任务成功完成时发送的通知短信 + # -------------------------------------------------------------------------- + build_success: + # 模板代码 - 短信服务平台审核通过的模板ID + # 阿里云: SMS_开头的一串数字字母组合 + # 腾讯云: 纯数字模板ID + # 云片: 长整型数字模板ID + templateCode: 'SMS_231440070' + + # 模板签名 - 可覆盖默认签名,使用特定的签名 + # 如果未设置,则使用顶层的默认签名 + signName: '小蚂蚁云' + + # 模板变量说明(在短信平台配置时定义): + # 通常包含: project, branch, status, duration, time 等变量 + # 示例模板内容: "您的项目${project}构建${status},耗时${duration},时间${time}" + + # -------------------------------------------------------------------------- + # 构建失败短信模板配置 + # 用途: 当构建任务失败时发送的告警短信 + # -------------------------------------------------------------------------- + build_failure: + # 模板代码 - 失败通知的专用模板ID + templateCode: 'SMS_231440070' + + # 模板签名 - 失败通知使用的签名 + signName: '小蚂蚁云' + + # 模板变量说明: + # 通常包含: project, branch, status, duration, error, time 等变量 + # 示例模板内容: "警告:项目${project}构建${status},错误:${error},时间${time}" + + # -------------------------------------------------------------------------- + # 部署通知短信模板(示例配置,可根据需要启用) + # 用途: 当应用部署完成时发送的通知短信 + # -------------------------------------------------------------------------- + # deployment: + # templateCode: 'SMS_DEPLOY_001' + # signName: '小蚂蚁云' + + # -------------------------------------------------------------------------- + # 系统告警短信模板(示例配置,可根据需要启用) + # 用途: 当系统发生异常或达到告警阈值时发送的短信 + # -------------------------------------------------------------------------- + # alert: + # templateCode: 'SMS_ALERT_001' + # signName: '小蚂蚁云' + # 环境配置文件 - 定义不同环境的特定配置 profiles: # -------------------------------------------------------------------------- @@ -266,16 +369,16 @@ common: 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" + # # 通知配置 - 生产环境部署状态通知 + # notifications: + # slackChannel: "#prod-deployments" # Slack通知频道 + # email: "xiaomayicloud@163.com" # 主要邮件通知地址 + # onSuccess: true # 成功时发送通知 + # onFailure: true # 失败时发送通知 + # onStart: true # 开始部署时发送通知 + # recipients: # 额外通知人员邮件列表 + # - "devops@xiaomayi.com" + # - "product-manager@xiaomayi.com" # ============================================================================== # 分支构建配置 - 定义不同Git分支的构建参数