type
status
date
slug
summary
category
tags
create_time
Jul 17, 2025 12:59 PM
icon
password
my_create_time
📝 前言
这是 DevOps 专题的第九篇,回顾一下前几篇的内容:
- 基本概念介绍:《从阿里云效到自建DevOps平台:Gitea入门介绍》
- 快速部署 Gitea 实例:《使用 Docker 快速部署 Gitea 指南(实战一)》
- 部署 CI/CD 工具:《使用二进制部署 Gitea Runner 指南(实战二)》
- 部署镜像仓库:《离线部署 Harbor 企业级镜像仓库指南》
- Gitea Action 入门:《Gitea Actions 工作流入门指南(实战三)》
- Gitea Action 远程部署:《Gitea Action 远程部署指南(实战四)》
- Gitea Action 定时与手动构建:《Gitea Action 定时构建和手动构建指南(实战五)》
- Harbor 镜像代理配置:《Harbor 镜像代理仓库配置指南》
这一篇我们继续介绍如何使用 Gitea Actions 来完成多架构平台的镜像构建。
🧭 背景介绍
Gitea 作为一款轻量级、可自托管的 Git 服务,已经支持 Actions 工作流。
在多架构(Multi-Arch)部署逐渐成为常态的今天,合理使用 Gitea Actions 自动构建多架构镜像,能大大提升部署效率与可维护性。
Docker 多架构镜像(Multi-Architecture Images)通过一个统一的镜像标签(如
myapp:latest
)支持多种硬件架构(如 amd64
、arm64
、ppc64le
等),简化了跨平台应用的部署和管理。🔍 使用场景
在如下场景中,构建多架构容器镜像具有重要意义:
- 跨平台开发与测试:许多开发者在使用 苹果Mac 作为本地开发环境,镜像默认为 ARM 架构,而线上大部分服务器仍使用 x86 架构。
- 边缘计算与 IoT 设备:在异构硬件(如树莓派 arm32/arm64、工业设备 ppc64le)上部署同一应用。
- 异构 Kubernetes 集群:集群混合包含 amd64(常规节点)和 arm64(成本优化节点)机器。
通过本文方法,你可以使用 Gitea Actions 无缝集成 Docker Buildx 并完成多平台镜像构建与推送。
📋 前提条件
在开始前,请确认以下环境准备已完成:
- 已部署 Gitea 1.21+,并开启 Actions 功能(默认开启,部署文章参看:《使用 Docker 快速部署 Gitea 指南(实战一)》)
- Gitea Runner 已正确注册并运行(可参看文章:《使用二进制部署 Gitea Runner 指南(实战二)》)
🚀 详细步骤
1️⃣ 编写工作流文件
创建
.gitea/workflows/build.yaml
文件,内容参考如下:配置说明:
- 这里为了提高构建效率,我将官方
Actions
都缓存到自建的gitea仓库,并且镜像也通过Harbor进行代理缓存加速。
- 我们新增了1个action:
docker/setup-buildx-action
,它是由官方 Docker 团队提供的 GitHub Actions 插件,用于在 CI 环境中配置并启用 Docker Buildx 构建器,是构建多架构镜像的关键组件。由于我们的内网镜像仓库是只支持http协议的,因此我们还添加了http仓库的配置。
- 构建多平台镜像:我们在构建镜像时,
platforms
添加了linux/arm64
,用于同时构建ARM架构的镜像。
PS:当未设置
buildx action
时,是无法同时构建ARM架构镜像的。2️⃣ 推送代码触发构建
只需将代码推送至
main
分支,Gitea Actions 会自动触发工作流并构建多架构镜像。可以在 Gitea 的”Actions”界面查看执行进度与日志。

3️⃣ 验证推送结果
当工作流执行完成后,我们可以进入Harbor镜像仓库,查看多架构镜像。

注意:只有当该镜像具有多架构时,才会出现类似这个文件夹的标志。
点击文件夹进去就可以看到有2个不同架构的镜像,之后在docker客户端拉取镜像时会自动选择跟当前系统匹配的架构。

PS:另外阿里云个人版镜像仓库是不支持多架构镜像上传的。
✅ 总结
最后总结一下,本文介绍了如何通过 Gitea Actions 构建并推送支持多架构的 Docker 镜像。
相比传统方法,这种方式更适合私有化、自托管的 CI/CD 需求,尤其在内网部署和异构集群中优势明显。
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/gitea-action-multi-arch-docker-guide
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。