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

545 lines
24 KiB
YAML
Raw Permalink 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.

# ==============================================================================
# 基础镜像构建配置文件
# 版本: 2.0
# 描述: 定义基础镜像构建的标准化配置
# ==============================================================================
# ==============================================================================
# 元数据配置 - 配置文件的基本信息
# ==============================================================================
metadata:
# 配置文件版本,用于兼容性管理
configVersion: "2.0"
# 配置文件的详细描述
description: "基础镜像构建标准化配置"
# 配置文件创建日期
created: "2024-09-15"
# 维护者联系方式
maintainer: "xiaomayicloud@163.com"
# ==============================================================================
# 全局通用配置 - 所有环境共享的配置项
# ==============================================================================
common:
# Git仓库配置 - 代码仓库相关设置
git:
# 仓库地址 - Git仓库的URL
url: "http://192.168.10.102:3000/cicd/jenkins-docker-images.git"
# 默认分支 - 主要开发分支
defaultBranch: "master"
# 凭证ID - Jenkins中存储的Git认证凭据ID
credentialsId: "c9b5eae2-5df5-485f-bebd-9cd5393b03e1"
# 克隆选项 - Git克隆操作的参数设置
cloneOptions:
depth: 1 # 浅克隆深度,只获取最近的一次提交
shallow: true # 启用浅克隆,减少克隆时间
timeout: 10 # 克隆操作超时时间(分钟)
# 钉钉消息
dingtalk:
# 凭证ID - Jenkins中存储的DingTalk认证凭据ID
credentialsId: "jenkins-dingtalk-robot"
# ==============================================================================
# 镜像仓库配置 - 定义不同的容器镜像仓库
# ==============================================================================
registrys:
# 默认仓库配置 - 内部私有仓库,用于日常开发测试
default:
# 内部私有仓库地址 - 企业内部部署的Harbor或Registry地址
registry: "192.168.10.102:8001"
# Jenkins凭证ID - 用于仓库认证的凭据ID
registryCredential: "xiaomayi-hub-credentials"
# 仓库中的项目/命名空间名称 - 镜像存放的项目空间
registryProject: "xiaomayi-base"
# 仓库类型 - 仓库的技术类型harbor、acr、dockerhub等
registryType: "harbor"
# 阿里云ACR仓库配置 - 云上仓库,用于生产环境或特定场景
aliyun:
# 阿里云VPC内网地址 - 阿里云容器镜像服务的VPC内网地址网络性能更优
registry: "registry-vpc.cn-hangzhou.aliyuncs.com"
# 阿里云仓库认证凭证 - 阿里云访问凭据的Jenkins ID
registryCredential: "aliyun-hub-credentials"
# 阿里云仓库项目名称 - 阿里云ACR中的命名空间
registryProject: "xiaomayi-base"
# 仓库类型 - 阿里云容器镜像服务
registryType: "acr"
# 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"
# 通知配置 - 构建结果通知设置
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:
# --------------------------------------------------------------------------
# 开发环境配置 - 用于开发测试,部署频率高,配置相对宽松
# --------------------------------------------------------------------------
dev:
# 容器镜像
registry: "default"
# --------------------------------------------------------------------------
# 测试环境配置 - 用于集成测试,配置接近生产环境
# --------------------------------------------------------------------------
test:
# 容器镜像
registry: "default"
# --------------------------------------------------------------------------
# 用户验收测试环境配置 - 模拟生产环境,用于最终验收测试
# --------------------------------------------------------------------------
uat:
# 容器镜像
registry: "default"
# --------------------------------------------------------------------------
# 生产环境配置 - 线上真实环境,配置最为严格
# --------------------------------------------------------------------------
prod:
# 容器镜像
registry: "default"
# ==============================================================================
# 分支构建配置 - 定义不同Git分支的构建参数
# ==============================================================================
branchConfig:
# 开发分支配置 - 用于日常开发环境
dev:
# Jenkins代理 - 执行构建任务的Jenkins节点标签
jenkinsAgent: "S205-docker"
# Docker镜像构建配置 - Docker构建相关参数
docker:
# Docker构建选项禁用缓存、总是拉取最新基础镜像
buildOptions: "--no-cache --pull"
# 测试分支配置 - 用于测试环境
test:
# Jenkins代理 - 测试环境使用的构建节点
jenkinsAgent: "S205-docker"
# Docker镜像构建配置 - 测试环境构建参数
docker:
# Docker构建选项禁用缓存、总是拉取最新基础镜像
buildOptions: "--no-cache --pull"
# 主分支配置(生产环境) - 用于生产环境发布
master:
# Jenkins代理 - 生产环境使用的构建节点
jenkinsAgent: "S205-docker"
# Docker镜像构建配置 - 生产环境构建参数
docker:
# Docker构建选项禁用缓存、总是拉取最新基础镜像
buildOptions: "--no-cache --pull"
# ==============================================================================
# 镜像服务配置 - 定义每个基础镜像的特定配置
# ==============================================================================
serviceConfig:
# JDK 17.0.16 CentOS 8 镜像配置
jdk17.0.16-centos8-dos:
baseImage: "centos:8" # 基础镜像名称
dockerContext: "dockerfiles/jdk/17.0.16-centos8-dos" # Docker构建上下文路径
imageName: jdk # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# 字体文件配置
fonts:
- source: "fonts/simsun.ttf" # 源文件路径(相对构建上下文)
target: "fonts" # 目标容器内路径
# JDK安装包配置
jdk:
- source: "jdk-17.0.16_linux-x64_bin.tar.gz" # JDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "17.0.16-centos8-dos" # 版本化标签(包含版本和系统信息)
# JDK 17.0.16 RockyLinux 8 镜像配置
jdk17.0.16-rocky8-dos:
baseImage: "rockylinux:8" # RockyLinux 8基础镜像
dockerContext: "dockerfiles/jdk/17.0.16-rocky8-dos" # 构建上下文路径
imageName: jdk # 镜像名称
# 资源文件配置
resources:
fonts:
- source: "fonts/simsun.ttf" # 宋体字体文件
target: "fonts" # 容器内字体路径
jdk:
- source: "jdk-17.0.16_linux-x64_bin.tar.gz" # JDK安装包
target: "" # 容器内临时路径
# 镜像标签
tags:
- "17.0.16-rocky8-dos" # 详细版本标签
# JDK 17.0.16 Ubuntu 22.04 镜像配置
jdk17.0.16-ubuntu22-dos:
baseImage: "ubuntu:22.04" # Ubuntu 22.04基础镜像
dockerContext: "dockerfiles/jdk/17.0.16-ubuntu22-dos" # 构建上下文路径
imageName: jdk # 镜像名称
# 资源文件
resources:
fonts:
- source: "fonts/simsun.ttf" # 字体文件源路径
target: "fonts" # 容器内目标路径
jdk:
- source: "jdk-17.0.16_linux-x64_bin.tar.gz" # JDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签
tags:
- "17.0.16-ubuntu22-dos" # 包含系统和版本信息的标签
# JDK 17.0.16 Debian 13 镜像配置
jdk17.0.16-debian13-dos:
baseImage: "debian:trixie-slim" # Ubuntu 22.04基础镜像
dockerContext: "dockerfiles/jdk/17.0.16-debian13-dos" # 构建上下文路径
imageName: jdk # 镜像名称
# 资源文件
resources:
fonts:
- source: "fonts/simsun.ttf" # 字体文件源路径
target: "fonts" # 容器内目标路径
jdk:
- source: "jdk-17.0.16_linux-x64_bin.tar.gz" # JDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签
tags:
- "17.0.16-debian13-dos" # 包含系统和版本信息的标签
# JRE 8u202 CentOS 8 镜像配置
jre8u202-centos8-dos:
baseImage: "centos:8" # 基础镜像名称
dockerContext: "dockerfiles/jre/8u202-centos8-dos" # Docker构建上下文路径
imageName: jre # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# 字体文件配置
fonts:
- source: "fonts/simsun.ttf" # 源文件路径(相对构建上下文)
target: "fonts" # 目标容器内路径
# JDK安装包配置
jdk:
- source: "jre-8u202-linux-x64.tar.gz" # JRE安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "8u202-centos8-dos" # 版本化标签(包含版本和系统信息)
# JRE 8u202 Rocky 8 镜像配置
jre8u202-rocky8-dos:
baseImage: "rockylinux:8.9-minimal" # 基础镜像名称
dockerContext: "dockerfiles/jre/8u202-rocky8-dos" # Docker构建上下文路径
imageName: jre # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# 字体文件配置
fonts:
- source: "fonts/simsun.ttf" # 源文件路径(相对构建上下文)
target: "fonts" # 目标容器内路径
# JDK安装包配置
jdk:
- source: "jre-8u202-linux-x64.tar.gz" # JRE安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "8u202-rocky8-dos" # 版本化标签(包含版本和系统信息)
# JRE 8u202 Rocky 8 镜像配置
jre8u202-ubuntu22-dos:
baseImage: "ubuntu:22.04" # 基础镜像名称
dockerContext: "dockerfiles/jre/8u202-utunbu22-dos" # Docker构建上下文路径
imageName: jre # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# 字体文件配置
fonts:
- source: "fonts/simsun.ttf" # 源文件路径(相对构建上下文)
target: "fonts" # 目标容器内路径
# JDK安装包配置
jdk:
- source: "jre-8u202-linux-x64.tar.gz" # JRE安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "8u202-utunbu22-dos" # 版本化标签(包含版本和系统信息)
# JRE 8u202 CentOS 8 镜像配置
jre8u202-debian13-dos:
baseImage: "debian:trixie-slim" # 基础镜像名称
dockerContext: "dockerfiles/jre/8u202-debian13-dos" # Docker构建上下文路径
imageName: jre # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# 字体文件配置
fonts:
- source: "fonts/simsun.ttf" # 源文件路径(相对构建上下文)
target: "fonts" # 目标容器内路径
# JDK安装包配置
jdk:
- source: "jre-8u202-linux-x64.tar.gz" # JRE安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "8u202-debian13-dos" # 版本化标签(包含版本和系统信息)
# Go 1.25.1 CentOS 8 镜像配置
go1.25.1-centos8-dos:
baseImage: "centos:8" # 基础镜像名称
dockerContext: "dockerfiles/golang/1.25.1-centos8-dos" # Docker构建上下文路径
imageName: go # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "go1.25.1.linux-amd64.tar.gz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "1.25.1-centos8-dos" # 版本化标签(包含版本和系统信息)
# Go 1.25.1 CentOS 8 镜像配置
go1.25.1-rocky8-dos:
baseImage: "rockylinux:8.9-minimal" # 基础镜像名称
dockerContext: "dockerfiles/golang/1.25.1-rocky8-dos" # Docker构建上下文路径
imageName: go # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "go1.25.1.linux-amd64.tar.gz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "1.25.1-rocky8-dos" # 版本化标签(包含版本和系统信息)
# Go 1.25.1 Ubuntu 22.04 镜像配置
go1.25.1-ubuntu22-dos:
baseImage: "ubuntu:22.04" # 基础镜像名称
dockerContext: "dockerfiles/golang/1.25.1-ubuntu22-dos" # Docker构建上下文路径
imageName: go # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "go1.25.1.linux-amd64.tar.gz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "1.25.1-ubuntu22-dos" # 版本化标签(包含版本和系统信息)
# Go 1.25.1 Debian 12 镜像配置
go1.25.1-debian12-dos:
baseImage: "debian:bookworm-slim" # 基础镜像名称
dockerContext: "dockerfiles/golang/1.25.1-debian12-dos" # Docker构建上下文路径
imageName: go # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "go1.25.1.linux-amd64.tar.gz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "1.25.1-debian12-dos" # 版本化标签(包含版本和系统信息)
# Python 3.9.13 CentOS 8 镜像配置
python3.9.13-centos8-dos:
baseImage: "centos:8" # 基础镜像名称
dockerContext: "dockerfiles/python/3.9.13-centos8-dos" # Docker构建上下文路径
imageName: python # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "Python-3.9.13.tar.xz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "3.9.13-centos8-dos" # 版本化标签(包含版本和系统信息)
# Python 3.9.13 Rocky 8 镜像配置
python3.9.13-rocky8-dos:
baseImage: "rockylinux:8.9-minimal" # 基础镜像名称
dockerContext: "dockerfiles/python/3.9.13-rocky8-dos" # Docker构建上下文路径
imageName: python # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "Python-3.9.13.tar.xz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "3.9.13-rocky8-dos" # 版本化标签(包含版本和系统信息)
# Python 3.9.13 Ubuntu 22.04 镜像配置
python3.9.13-ubuntu22-dos:
baseImage: "ubuntu:22.04" # 基础镜像名称
dockerContext: "dockerfiles/python/3.9.13-ubuntu22-dos" # Docker构建上下文路径
imageName: python # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "Python-3.9.13.tar.xz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "3.9.13-ubuntu22-dos" # 版本化标签(包含版本和系统信息)
# Python 3.9.13 Debian 12 镜像配置
python3.9.13-debian12-dos:
baseImage: debian:bookworm-slim" # 基础镜像名称
dockerContext: "dockerfiles/python/3.9.13-debian12-dos" # Docker构建上下文路径
imageName: python # 生成的镜像名称
# 资源文件 - 构建时需要复制的文件资源
resources:
# SDK安装包配置
sdk:
- source: "Python-3.9.13.tar.xz" # SDK安装包源文件
target: "" # 容器内临时存放路径
# 镜像标签列表 - 构建完成后打标签的名称
tags:
- "3.9.13-debian12-dos" # 版本化标签(包含版本和系统信息)
# Nginx 1.24 Alpine 镜像配置
nginx1.24-alpine:
baseImage: "nginx:1.24-alpine" # Nginx Alpine基础镜像
dockerContext: "dockerfiles/nginx/nginx1.24-alpine" # 构建上下文路径
imageName: nginx # 镜像名称
# 资源文件(当前为空,可根据需要添加配置文件等)
resources:
# 镜像标签
tags:
- "1.24-alpine" # 版本和系统组合标签