2026-01-14 21:31:13 +08:00

240 lines
9.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ==============================================================================
# Nexus私库上传配置 - 核心类库JAR包发布配置
# 用途: 用于配置小蚂蚁核心类库的编译、打包和发布到Nexus私库的流程
# ==============================================================================
# ==============================================================================
# 通用配置块 - 包含所有环境共享的配置项
# ==============================================================================
common:
# Nexus仓库配置 - 定义不同的Maven仓库地址和认证信息
nexus:
# 默认Nexus仓库配置 - 内部私有仓库(主要使用)
default:
# Nexus仓库地址 - 企业内部部署的Nexus地址
url: "http://192.168.10.102:8081/repository/maven-releases/"
# Snapshots仓库地址 - 用于开发阶段的快照版本
snapshotsUrl: "http://192.168.10.102:8081/repository/maven-snapshots/"
# Jenkins凭证ID - 用于Nexus认证的凭据ID用户名/密码或API Token
credentialsId: "nexus-credentials"
# 仓库类型 - Nexus仓库
type: "nexus"
# 仓库策略 - 发布版本使用releases快照版本使用snapshots
policy: "releases"
# 阿里云Maven仓库配置 - 备用仓库(可根据需要启用)
aliyun:
# 阿里云Maven仓库地址 - 云上Maven仓库
url: "https://packages.aliyun.com/maven/repository/xiaomayi-release/"
# Snapshots仓库地址 - 云上快照仓库
snapshotsUrl: "https://packages.aliyun.com/maven/repository/xiaomayi-snapshot/"
# 阿里云仓库认证凭证 - 阿里云访问凭据
credentialsId: "aliyun-maven-credentials"
# 仓库类型 - 阿里云Maven仓库
type: "aliyun"
# 仓库策略 - 发布策略
policy: "releases"
# 钉钉消息配置 - 用于构建和发布状态通知
dingtalk:
# 凭证ID - Jenkins中存储的DingTalk认证凭据ID
credentialsId: "jenkins-dingtalk-robot"
# 通知群组 - 接收通知的钉钉群组
groups: ["核心库发布通知群"]
# 通知配置 - 构建结果通知设置
notification:
# 构建成功通知配置 - 发布成功时发送通知
success:
# 通知渠道配置
channels:
# 邮件通知 - 接收邮件的地址列表
email: ["xiaomayicloud@163.com"]
# 短信通知 - 接收短信的手机号列表(注释状态,可根据需要启用)
# sms: ["15295504151"]
# 钉钉通知 - 是否启用钉钉通知
dingtalk: true
# Slack通知 - 是否启用Slack通知目前未启用
slack: false
# 成功通知模板 - 通知消息内容模板
template: "核心库 {library} 版本 {version} 发布成功!"
# 构建失败通知配置 - 发布失败时发送告警
failure:
# 通知渠道配置
channels:
# 邮件通知 - 失败告警邮件接收地址
email: ["xiaomayicloud@163.com"]
# 短信通知 - 紧急告警短信(注释状态)
# sms: ["15295504151"]
# 钉钉通知 - 启用钉钉告警
dingtalk: true
# Slack通知 - 未启用
slack: false
# 失败通知模板
template: "警告:核心库 {library} 发布失败!错误信息:{error}"
# 构建被中止通知 - 手动中止构建时发送通知
aborted:
# 通知渠道配置
channels:
# 邮件通知
email: ["xiaomayicloud@163.com"]
# 短信通知(注释状态)
# sms: ["15295504151"]
# 钉钉通知
dingtalk: true
# Slack通知 - 未启用
slack: false
# 中止通知模板
template: "核心库 {library} 发布流程被中止"
# 构建不稳定通知配置 - 构建完成但存在警告时发送
unstable:
# 通知渠道配置
channels:
# 邮件通知
email: ["xiaomayicloud@163.com"]
# 钉钉通知
dingtalk: true
# 不稳定通知模板
template: "注意:核心库 {library} 发布完成但存在警告"
# 构建策略 - 构建过程的策略配置
buildStrategy:
# 重试配置
retryCount: 3 # 构建失败重试次数(网络问题等可重试场景)
timeoutMinutes: 60 # 构建超时时间(分钟)- 防止构建过程卡死
cleanupWorkspace: true # 构建完成后是否清理工作空间 - 节省磁盘空间
enableCaching: true # 是否启用Maven依赖缓存 - 加速后续构建
# 发布策略 - 发布到Nexus的相关配置
publishStrategy:
# 版本管理策略
versionPolicy: "semantic" # 版本策略semantic-语义化版本控制
# 自动发布设置
autoPublish: true # 是否自动发布false时需要人工确认
# 签名配置
signArtifacts: true # 是否对构件进行GPG签名
gpgKeyId: "xiaomayi-signing-key" # GPG签名密钥ID
# ==============================================================================
# 环境特定配置 - 不同环境的差异化配置
# ==============================================================================
profiles:
# 开发环境配置 - 用于开发阶段的持续集成
dev:
# Nexus仓库配置 - 使用默认Nexus仓库
nexus: "default"
# 版本后缀 - 开发环境使用SNAPSHOT版本标识
versionSuffix: "-SNAPSHOT"
# 自动发布设置 - 开发环境自动发布到Snapshots仓库
autoDeploy: true
# 仓库策略 - 发布到Snapshots仓库
repositoryPolicy: "snapshots"
# 测试环境配置 - 用于测试验证
test:
# Nexus仓库配置
nexus: "default"
# 版本后缀 - 测试环境也可使用SNAPSHOT版本便于迭代测试
versionSuffix: "-SNAPSHOT"
# 自动发布设置 - 测试环境自动发布
autoDeploy: true
# 仓库策略 - 发布到Snapshots仓库
repositoryPolicy: "snapshots"
# UAT环境配置 - 用户验收测试环境
uat:
# Nexus仓库配置
nexus: "default"
# 版本后缀 - UAT环境使用正式版本但不一定立即发布到Release
versionSuffix: "-RC" # Release Candidate版本
# 自动发布设置 - UAT环境需要人工确认
autoDeploy: false
# 仓库策略 - 可发布到Staging仓库
repositoryPolicy: "staging"
# 生产环境配置 - 正式发布环境
prod:
# Nexus仓库配置
nexus: "default"
# 版本后缀 - 生产环境使用正式版本,无后缀
versionSuffix: ""
# 自动发布设置 - 生产环境必须人工确认
autoDeploy: false
# 仓库策略 - 发布到Releases仓库
repositoryPolicy: "releases"
# ==============================================================================
# 分支构建配置 - 定义不同Git分支的构建参数
# ==============================================================================
branchConfig:
# 开发分支配置 - 对应开发环境
dev:
# Jenkins代理节点 - 执行构建的Jenkins节点
jenkinsAgent: "S205-docker"
# Maven构建配置 - Java应用编译和打包
maven:
mavenSet: "nexus-maven-dev" # Maven配置集名称settings.xml
skipTests: false # 是否跳过测试(开发分支不跳过)
goals: "clean deploy" # Maven执行目标清理、部署到Nexus
options: "-DskipITs" # Maven选项参数跳过集成测试
# 发布配置
deploy: true # 是否执行部署操作
updateVersion: true # 是否更新版本号
# 测试分支配置 - 对应测试环境
test:
# Jenkins代理节点
jenkinsAgent: "S205-docker"
# Maven构建配置
maven:
mavenSet: "nexus-maven-test" # 测试环境Maven配置
skipTests: false # 不跳过测试,确保质量
goals: "clean deploy" # 执行清理和部署
options: "-Ptest" # 激活test profile
# 发布配置
deploy: true # 执行部署
updateVersion: false # 不自动更新版本号
# 主分支配置(生产环境) - 对应生产发布
master:
# Jenkins代理节点
jenkinsAgent: "S205-docker"
# Maven构建配置
maven:
mavenSet: "maven-yunhengv4-host-dev" # 生产环境Maven配置
skipTests: false # 生产构建不跳过测试,确保稳定性
goals: "clean deploy" # 执行清理和部署
options: "-Prelease" # 激活release profile
# 发布配置
deploy: true # 执行部署
updateVersion: false # 版本号由人工管理
# ==============================================================================
# 核心库服务配置 - 定义需要发布的核心类库项目
# ==============================================================================
serviceConfig:
# 核心类库
xiaomayi-common:
# 项目基本信息
projectName: "xiaomayi-common" # 项目名称
description: "小蚂蚁通用工具库" # 项目描述
# 技术栈配置
programLang: "java" # 编程语言Java
programLangVersion: "17.0.16" # Java版本17.0.16
# 项目结构配置
pomFilePath: "pom.xml" # POM文件路径根目录
servicePath: "" # 服务路径(空表示根目录)
# 核心类库
yunheng-common:
# 项目基本信息
projectName: "yunheng-common" # 项目名称
description: "云恒通用工具库" # 项目描述
# 技术栈配置
programLang: "java" # 编程语言Java
programLangVersion: "17.0.16" # Java版本17.0.16
# 项目结构配置
pomFilePath: "pom.xml" # POM文件路径根目录
servicePath: "" # 服务路径(空表示根目录)