
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ConcourseCI管道资源镜像,用于简化BitBucket Cloud拉取请求(PR)的管理。可实现获取打开的PR列表、检出PR引用的提交以及设置PR的构建状态等功能。镜像托管于Docker Hub:https://hub.docker.com/r/n7docker/concourse-bitbucket-pr%E3%80%82
该镜像作为ConcourseCI的资源类型,专为BitBucket Cloud的PR管理设计。核心解决现有类似工具因频繁调用BitBucket API(如/commits端点)导致超出API请求限制(每小时1000次)的问题,通过优化实现最小化API调用,确保CI流程稳定运行。
适用于使用ConcourseCI构建CI/CD管道,且需要与BitBucket Cloud集成管理PR的团队。特别适合多项目(20+)并行构建场景,可有效避免因API调用限制导致的CI中断问题。
首先在Concourse管道中定义资源类型:
yamlresource_types: - name: bitbucket-pr type: registry-image source: repository: n7docker/concourse-bitbucket-pr
源配置参数
| 参数 | 说明 | 是否必填 | 默认值 |
|---|---|---|---|
workspace | BitBucket组织/团队名称 | 是 | - |
slug | BitBucket仓库名称 | 是 | - |
username | 具有仓库访问权限的BitBucket账号(用于Git克隆和API调用) | 是 | - |
password | 账号密码或应用密码(2FA启用时) | 是 | - |
debug | 是否开启调试日志 | 否 | false |
recurse_submodules | 是否递归检出子模块 | 否 | false |
资源定义示例
yamlresources: - name: pull-request type: bitbucket-pr check_every: 1m # 每分钟检查一次PR更新 source: workspace: n7mobile # BitBucket组织 slug: pr-test-repo # 仓库名称 username: ((ci_user)) # 凭据引用 password: ((ci_pass)) # 凭据引用 debug: true # 开启调试日志
yamljobs: - name: process-pr plan: - get: pull-request trigger: true # PR更新时触发作业 version: every # 获取所有PR版本 - task: run-tests config: platform: linux image_resource: type: registry-image source: {repository: alpine} inputs: - name: pull-request # 从PR资源获取代码 run: path: sh args: ["-c", "cd pull-request && echo 'Running tests...'"] - put: pull-request # 设置PR构建状态 params: repo_path: pull-request # 代码所在路径(与get步骤名称一致) action: set:commit.build.status # 操作类型(当前仅支持此值) status: SUCCESSFUL # 构建状态(STOPPED/INPROGRESS/FAILED/SUCCESSFUL) url: https://ci.example.com/builds/((BUILD_ID)) # 构建结果URL name: "PR测试 #((BUILD_ID))" # 状态名称 description: "自动测试完成" # 状态描述
check:获取打开的PR列表通过BitBucket API v2获取仓库所有打开的PR,处理分页。为获取PR最新提交的完整SHA1,执行最小化Git裸克隆(而非调用API),生成版本对象:
json{ "ref": "完整提交SHA1", "id": "PR标识符" }
in:检出提交执行git clone && git checkout <commit-hash>操作(基于libgit2实现),将Concourse传递的版本对象存储为.concourse.version.json,供后续out步骤使用。
out:设置构建状态为PR关联的提交设置构建状态,参数说明:
| 参数 | 说明 | 是否必填 | 默认值 |
|---|---|---|---|
repo_path | 之前get步骤检出的代码路径 | 是 | - |
action | 操作类型(当前仅支持set:commit.build.status) | 否 | set:commit.build.status |
key | 构建状态标识(相同key会覆盖) | 否 | BUILD |
status | 构建状态(STOPPED/INPROGRESS/FAILED/SUCCESSFUL) | 是 | - |
url | 构建结果URL | 是 | - |
name | 状态名称 | 否 | $BUILD_JOB_NAME #$BUILD_ID |
description | 状态描述 | 否 | Concourse Build CI |
所有开发任务通过Makefile定义,可执行make help查看详细任务列表。
MIT License Copyright (c) [year] [fullname] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
由N7Mobile sp. z o.o.积极维护。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务