woodpeckerci/plugin-docker-buildxplugin-docker-buildx是Woodpecker CI的官方插件,旨在通过Docker Buildx工具构建多架构Docker镜像。该插件无缝集成Woodpecker CI流程,简化跨平台Docker镜像的构建过程。项目地址:[***]
适用于需要在Woodpecker CI流程中自动化构建并推送支持多平台(如x86_64服务器、ARM设备等)的Docker镜像的开发场景,尤其适合跨架构部署的应用项目。
在Woodpecker CI的流水线配置文件中,通过定义步骤使用该插件。以下为基础配置示例:
yamlpipeline: build-multiarch-image: image: codeberg.org/woodpecker-plugins/plugin-docker-buildx settings: # 必选:目标Docker镜像仓库及名称(如Docker Hub、私有仓库) repo: example/user/app # 必选:镜像标签(可指定多个,用逗号分隔) tags: latest,v1.0.0 # 必选:需要构建的架构列表(用逗号分隔,如linux/amd64,linux/arm64) platforms: linux/amd64,linux/arm64 # 可选:Dockerfile路径(默认为当前目录下的Dockerfile) dockerfile: ./path/to/Dockerfile # 可选:构建上下文路径(默认为当前工作目录) context: ./build-context # 可选:是否推送镜像到仓库(默认true,需确保CI环境已配置仓库认证) push: true
| 参数名 | 描述 | 是否必选 | 默认值 |
|---|---|---|---|
repo | 目标Docker镜像的仓库地址及名称(格式:[仓库地址/]<用户名>/<镜像名>) | 是 | - |
tags | 镜像标签,多个标签用逗号分隔(如latest,v1.0) | 是 | - |
platforms | 需要构建的架构列表,格式为os/arch,多个架构用逗号分隔 | 是 | - |
dockerfile | Dockerfile文件路径 | 否 | ./Dockerfile |
context | 构建上下文路径 | 否 | . |
push | 构建完成后是否自动推送镜像到仓库 | 否 | true |
若目标仓库需要认证(如Docker Hub、私有仓库),需在Woodpecker CI中配置对应的秘钥(如docker_username和docker_password),并通过环境变量或secrets字段传递给插件:
yamlpipeline: build-multiarch-image: image: codeberg.org/woodpecker-plugins/plugin-docker-buildx settings: repo: example/user/app tags: latest platforms: linux/amd64,linux/arm64 secrets: # 引用Woodpecker CI中配置的Docker仓库认证秘钥 - source: docker_username target: plugin_docker_username - source: docker_password target: plugin_docker_password
注:秘钥配置需在Woodpecker CI的项目设置中提前添加,具体操作参考Woodpecker CI官方文档。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务