# ============================================================================== # 基础镜像构建配置文件 # 版本: 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" # 版本和系统组合标签