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