240 lines
9.9 KiB
YAML
240 lines
9.9 KiB
YAML
# ==============================================================================
|
||
# 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: "" # 服务路径(空表示根目录) |