411 lines
19 KiB
YAML
411 lines
19 KiB
YAML
# ==============================================================================
|
||
# 基础镜像构建配置文件
|
||
# 版本: 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"
|
||
|
||
# 环境配置文件 - 定义不同环境的特定配置
|
||
profiles:
|
||
# --------------------------------------------------------------------------
|
||
# 开发环境配置 - 用于开发测试,部署频率高,配置相对宽松
|
||
# --------------------------------------------------------------------------
|
||
dev:
|
||
# 容器镜像
|
||
registry: "default"
|
||
# --------------------------------------------------------------------------
|
||
# 测试环境配置 - 用于集成测试,配置接近生产环境
|
||
# --------------------------------------------------------------------------
|
||
test:
|
||
# 容器镜像
|
||
registry: "default"
|
||
# --------------------------------------------------------------------------
|
||
# 用户验收测试环境配置 - 模拟生产环境,用于最终验收测试
|
||
# --------------------------------------------------------------------------
|
||
uat:
|
||
# 容器镜像
|
||
registry: "default"
|
||
# --------------------------------------------------------------------------
|
||
# 生产环境配置 - 线上真实环境,配置最为严格
|
||
# --------------------------------------------------------------------------
|
||
prod:
|
||
# 容器镜像
|
||
registry: "default"
|
||
|
||
# 通知配置 - 构建结果通知设置
|
||
notification:
|
||
# 构建成功通知配置
|
||
success:
|
||
# 收件人列表 - 成功时通知的邮箱地址
|
||
recipients: ["xiaomayicloud@163.com", "575073565@qq.com", "txwz2006@126.com"]
|
||
# 通知渠道 - 使用的通知方式
|
||
channels: ["email", "dingtalk", "slack"]
|
||
# 构建失败通知配置
|
||
failure:
|
||
# 收件人列表 - 失败时通知的邮箱地址
|
||
recipients: ["xiaomayicloud@163.com"]
|
||
# 通知渠道 - 失败时使用的通知方式
|
||
channels: ["email", "dingtalk", "slack", "sms"]
|
||
# 构建不稳定通知配置
|
||
unstable:
|
||
# 收件人列表 - 不稳定时通知的邮箱地址
|
||
recipients: ["xiaomayicloud@163.com"]
|
||
# 通知渠道 - 不稳定时使用的通知方式
|
||
channels: ["email", "dingtalk"]
|
||
|
||
# 构建策略 - 构建过程的策略配置
|
||
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" # 版本化标签(包含版本和系统信息)
|
||
|
||
# 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" # 版本化标签(包含版本和系统信息)
|
||
# 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" # 版本化标签(包含版本和系统信息)
|
||
|
||
# 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" # 版本和系统组合标签
|