本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
GitHub Release Resource 是 Concourse CI 的资源类型(Resource Type),用于在流水线中与 GitHub Releases 进行交互。该资源支持两种核心操作:获取(in) GitHub Release 中的版本化资产或元数据,以及创建/更新(out) GitHub Release(包括标签、描述和资产文件)。其主要用途是实现流水线与 GitHub Releases 的自动化集成,满足版本化资源的获取和发布需求。
v1.0.0)或正则表达式(如 v.*)筛选 Release,满足版本匹配需求。适用于 Concourse CI 流水线中需与 GitHub Releases 交互的场景,典型包括:
在 Concourse 流水线中,需先定义该资源类型:
resource_types: - name: github-release type: registry-image source: repository: concourse/github-release-resource # 官方镜像地址
资源的 source 段定义与 GitHub 仓库的连接信息,通用配置如下:
resources: - name: my-github-release # 资源名称(自定义) type: github-release # 关联上述定义的资源类型 source: owner: my-github-username # GitHub 仓库所有者(用户名或组织名,必填) repo: my-repo-name # GitHub 仓库名称(必填) access_token: ((github-pat)) # GitHub 个人访问令牌(PAT),需 `repo` 权限(私有仓库或写操作时必填) # api_url: [***] # GitHub API URL(可选,默认官方 API,GitHub Enterprise 需修改,如 [***] # base_url: [***] # GitHub Web 基础 URL(可选,默认官方地址,GitHub Enterprise 需修改,如 [***]
用于从 GitHub Release 获取资产或元数据,配置在流水线的 get 步骤中:
jobs: - name: fetch-release-assets plan: - get: my-github-release # 关联上述定义的资源 params: # 可选参数:筛选和获取配置 globs: ["*.tar.gz", "*.exe"] # 资产文件 glob 模式(默认获取所有资产) include_source_tarball: true # 是否包含源码 tarball(source.tar.gz,默认 false) include_source_zip: true # 是否包含源码 zip(source.zip,默认 false) download: true # 是否下载资产文件(false 仅生成元数据文件 `release.json`,默认 true) tag: v1.0.0 # 精确标签(如 "v1.0.0",默认获取最新 Release) # tag_filter: v* # 标签正则表达式(如 "v.*",与 tag 二选一)
用于创建新的 GitHub Release 或更新现有 Release,配置在流水线的 put 步骤中:
jobs: - name: create-github-release plan: - put: my-github-release # 关联上述定义的资源 params: # 核心参数(创建 Release 时必填) name: "Release v1.0.0" # Release 名称(必填) tag: v1.0.0 # Release 标签(如 "v1.0.0",创建新 Release 时必填) # tag_prefix: v # 标签前缀(与 tag 二选一,自动生成标签,如基于版本文件) commitish: main # 标签指向的提交 SHA 或分支(可选,默认当前 HEAD) body: | # Release 描述(支持 Markdown,可选) ## v1.0.0 - 新增功能 A - 修复 Bug B # 资产上传配置(可选) globs: ["dist/*.tar.gz"] # 要上传的资产文件 glob 模式(如构建产物路径) # 可选参数 draft: false # 是否标记为草稿(默认 false) prerelease: false # 是否标记为预发布(默认 false) # overwrite: true # 是否覆盖现有同名标签的 Release(默认 false,谨慎使用) # asset_name: custom-name.tar.gz # 资产自定义名称(默认原文件名,仅单资产时生效)
以下是一个包含 "获取 Release 资产" 和 "创建 Release" 的 Concourse 流水线示例:
resource_types: - name: github-release type: registry-image source: repository: concourse/github-release-resource resources: - name: app-repo # 源码仓库(示例) type: git source: uri: [***] branch: main - name: app-release # GitHub Release 资源 type: github-release source: owner: my-username repo: my-app access_token: ((github-pat)) # 存储在 Concourse 中的密钥 jobs: - name: build-and-release plan: - get: app-repo # 获取源码 trigger: true # 源码更新时触发流水线 - task: build-app # 构建产物(示例任务) config: platform: linux image_resource: type: registry-image source: {repository: alpine} inputs: [{name: app-repo}] outputs: [{name: dist}] # 输出构建产物到 dist 目录 run: path: sh args: ["-c", "cd app-repo && mkdir -p ../dist && echo 'built asset' > ../dist/app-v1.0.0.tar.gz"] - put: app-release # 创建 GitHub Release 并上传资产 params: name: "v1.0.0 Release" tag: v1.0.0 body: "Initial stable release with build assets." globs: ["dist/*.tar.gz"] # 上传 dist 目录下的资产
| 参数名 | 类型 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| owner | string | GitHub 仓库所有者(用户名或组织名) | 是 | - |
| repo | string | GitHub 仓库名称 | 是 | - |
| access_token | string | GitHub 个人访问令牌(PAT),需 repo 权限(私有仓库或写操作时必填) | 否(公共仓库读操作可选) | - |
| api_url | string | GitHub API 基础 URL(适用于 GitHub Enterprise) | 否 | [***] |
| base_url | string | GitHub Web 基础 URL(适用于 GitHub Enterprise) | 否 | [***] |
| 参数名 | 类型 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| globs | array | 资产文件筛选 glob 模式(如 ["*.zip", "*.tar.gz"]) | 否 | 获取所有资产 |
| include_source_tarball | bool | 是否包含源码 tarball(source.tar.gz) | 否 | false |
| include_source_zip | bool | 是否包含源码 zip(source.zip) | 否 | false |
| download | bool | 是否下载资产文件(false 时仅生成元数据 release.json) | 否 | true |
| tag | string | 精确标签(如 v1.0.0) | 否 | 获取最新 Release |
| tag_filter | string | 标签正则表达式(如 v.*),与 tag 二选一 | 否 | - |
| 参数名 | 类型 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| name | string | Release 名称 | 是 | - |
| tag | string | Release 标签(如 v1.0.0),创建新 Release 时必填 | 否(与 tag_prefix 二选一) | - |
| tag_prefix | string | 标签前缀(如 v),自动生成标签(需配合版本文件) | 否(与 tag 二选一) | - |
| commitish | string | 标签指向的提交 SHA 或分支(如 main、a1b2c3d) | 否 | 当前 HEAD |
| body | string | Release 描述(支持 Markdown) | 否 | - |
| globs | array | 上传资产文件的 glob 模式(如 ["dist/*.tar.gz"]) | 否 | - |
| draft | bool | 是否标记为草稿 Release | 否 | false |
| prerelease | bool | 是否标记为预发布 | 否 | false |
| overwrite | bool | 是否覆盖现有同名标签的 Release(危险操作) | 否 | false |
access_token 需根据操作类型配置权限:仅读取公共仓库 Release 时无需令牌;读取私有仓库需 public_repo 或 repo 权限;创建/更新 Release 需 repo 权限。tag 必须唯一。若需覆盖现有标签,需显式设置 overwrite: true(会删除原标签及 Release)。release.json 文件,包含 Release 完整元数据(如 tag_name、body、assets 列表),可在流水线中解析使用。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429