This commit is contained in:
gitadmin
2026-01-14 21:31:13 +08:00
parent 11950d89af
commit 43a1a8831b
15 changed files with 2836 additions and 471 deletions
+240
View File
@@ -0,0 +1,240 @@
# ==============================================================================
# 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: "" # 服务路径(空表示根目录)