2025-09-15 21:14:18 +08:00

232 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.

# ==============================================================================
# 基础镜像构建配置文件
# 版本: 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 # 克隆操作超时时间(分钟)
# ==============================================================================
# 镜像仓库配置 - 定义不同的容器镜像仓库
# ==============================================================================
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"
# 环境配置文件 - 定义不同环境的特定配置
profiles:
# --------------------------------------------------------------------------
# 开发环境配置 - 用于开发测试,部署频率高,配置相对宽松
# --------------------------------------------------------------------------
dev:
# 容器镜像
registry: "default"
# --------------------------------------------------------------------------
# 测试环境配置 - 用于集成测试,配置接近生产环境
# --------------------------------------------------------------------------
test:
# 容器镜像
registry: "default"
# --------------------------------------------------------------------------
# 用户验收测试环境配置 - 模拟生产环境,用于最终验收测试
# --------------------------------------------------------------------------
uat:
# 容器镜像
registry: "default"
# --------------------------------------------------------------------------
# 生产环境配置 - 线上真实环境,配置最为严格
# --------------------------------------------------------------------------
prod:
# 容器镜像
registry: "default"
# 通知配置 - 构建结果通知设置
notification:
# 构建成功通知配置
success:
# 收件人列表 - 成功时通知的邮箱地址
recipients: ["xiaomayicloud@163.com"]
# 通知渠道 - 使用的通知方式
channels: ["email", "slack"]
# 构建失败通知配置
failure:
# 收件人列表 - 失败时通知的邮箱地址
recipients: ["xiaomayicloud@163.com"]
# 通知渠道 - 失败时使用的通知方式
channels: ["email", "slack", "sms"]
# 构建不稳定通知配置
unstable:
# 收件人列表 - 不稳定时通知的邮箱地址
recipients: ["xiaomayicloud@163.com"]
# 通知渠道 - 不稳定时使用的通知方式
channels: ["email"]
# 构建策略 - 构建过程的策略配置
buildStrategy:
retryCount: 3 # 构建失败重试次数
timeoutMinutes: 60 # 构建超时时间(分钟)
cleanupWorkspace: true # 构建完成后是否清理工作空间
enableCaching: true # 是否启用Docker构建缓存
# ==============================================================================
# 分支构建配置 - 定义不同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" # 版本化标签(包含版本和系统信息)
- "latest" # 最新版本标签
# 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" # 详细版本标签
- "latest" # 最新标签
# 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" # 包含系统和版本信息的标签
- "latest" # 默认最新标签
# 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" # 版本和系统组合标签
- "latest" # 最新版本标签