
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
用于从当前分支创建 Pull Request 的 GitHub Action。
可与另一个 Action https://github.com/devops-infra/action-commit-push 结合使用,实现提交推送后的自动 Pull Request 流程。
source_branch 指定的分支向 target_branch 创建 Pull Requesttitle 和 body 参数自定义 Pull Request 的标题和正文assignee(负责人)、reviewer(审阅者)、一个或多个 label(标签)、milestone(里程碑),或标记为 draft(草稿)old_string 为 new_string,或使用提交信息主题替换 old_stringget_diff 设为 true 时,会在 Pull Request 模板中用提交列表替换 <!-- Diff commits -->,用修改文件列表替换 <!-- Diff files -->allow_no_diff 设为 true 时,即使分支间无差异(如仅含合并提交),仍会继续执行并创建 Pull Requestamd64 和 arm64 架构适用于需要自动化 Pull Request 创建的 CI/CD 流程,例如:
devops-infra/action-commit-push),实现代码提交后自动触发 Pull Request
yaml- name: 运行 Action uses: devops-infra/action-pull-request@v1.0.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} source_branch: development target_branch: master title: 我的 Pull Request template: .github/PULL_REQUEST_TEMPLATE.md body: "**自动化 Pull Request**" reviewer: octocat assignee: octocat label: enhancement milestone: 我的里程碑 draft: true old_string: "<!-- 在此添加描述 -->" new_string: "**自动化 Pull Request**" get_diff: true ignore_users: "dependabot" allow_no_diff: false
| 输入变量 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|
github_token | 是 | "" | GitHub 令牌,通常使用 ${{ secrets.GITHUB_TOKEN }} |
source_branch | 否 | 当前分支 | 源分支名称 |
target_branch | 否 | master | 目标分支名称,若使用 main 作为主分支需修改此值 |
title | 否 | 首个提交的主题 | Pull Request 标题 |
template | 否 | "" | 模板文件路径(如 .github/PULL_REQUEST_TEMPLATE.md) |
body | 否 | 提交列表 | Pull Request 正文 |
reviewer | 否 | "" | 审阅者用户名 |
assignee | 否 | "" | 负责人用户名(多个用逗号分隔) |
label | 否 | "" | 标签(多个用逗号分隔) |
milestone | 否 | "" | 里程碑名称 |
draft | 否 | false | 是否标记为草稿 |
old_string | 否 | "" | 模板中需替换的旧字符串 |
new_string | 否 | "" | 替换后的新字符串;若仅指定 old_string 未指定此值,则自动收集提交主题作为替换内容 |
get_diff | 否 | false | 是否在模板中替换预定义注释块以显示分支差异(详见下方“get_diff 工作原理”) |
ignore_users | 否 | "dependabot" | 忽略的用户列表(多个用逗号分隔) |
allow_no_diff | 否 | false | 是否允许在分支无差异(如仅含合并提交)时继续创建 Pull Request |
| 输出变量 | 描述 |
|---|---|
url | Pull Request 的 URL |
pr_number | GitHub Pull Request 编号 |
在旧版本中,模板中的 <!-- Diff commits --> 和 <!-- Diff files --> 注释会被替换为提交列表和修改文件列表。当前版本则要求使用以下三种注释块(位于 START 和 END 注释之间的内容会被替换),尤其适用于 Pull Request 更新时动态刷新差异信息:
<!-- Diff summary - START --> 和 <!-- Diff summary - END -->:显示 Pull Request 中每个提交的第一行(摘要)<!-- Diff commits - START --> 和 <!-- Diff commits - END -->:显示提交图谱,包含作者信息和时间<!-- Diff files - START --> 和 <!-- Diff files - END -->:显示修改文件列表若模板中使用旧版注释字符串,创建 Pull Request 时会自动将其调整为新版格式(仅修改 PR 正文,不修改模板文件)。
注意:使用 get_diff 时,需确保 https://github.com/actions/checkout Action 的 fetch-depth 设为 0(而非默认值),以获取完整的提交历史,示例如下:
非主分支推送时自动创建指向主分支的 Pull Request:
yamlname: 运行 Action on: push: branches-ignore: master # 主分支推送时不触发 jobs: action-pull-request: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v5 - name: 创建 Pull Request uses: devops-infra/action-pull-request@v1.0.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} title: 自动化 Pull Request
使用首个提交的主题作为标题和正文部分内容,根据分支名添加标签,并在模板中包含差异信息:
yamlname: 运行 Action on: push: branches-ignore: master # 主分支推送时不触发 jobs: action-pull-request: runs-on: ubuntu-latest steps: - name: 检出代码(完整历史) uses: actions/checkout@v5 with: fetch-depth: 0 # 必须设为 0 以获取完整提交历史,确保 get_diff 正常工作 - name: 运行 Action if: startsWith(github.ref, 'refs/heads/feature') # 仅 feature 分支触发 uses: devops-infra/action-pull-request@v1.0.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} title: ${{ github.event.commits[0].message }} # 使用首个提交的主题作为标题 assignee: ${{ github.actor }} # 负责人设为当前提交者 label: enhancement,automated # 添加标签 template: .github/PULL_REQUEST_TEMPLATE.md # 使用自定义模板 old_string: "<!-- 在此添加描述 -->" # 替换模板中的占位符 new_string: ${{ github.event.commits[0].message }} # 用提交主题替换占位符 get_diff: true # 启用差异信息展示
使用特定版本的 Action(推荐固定版本以确保稳定性):
yamlname: 运行 Action on: push: branches-ignore: master jobs: action-pull-request: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: devops-infra/action-pull-request@v1.0.0 # 固定补丁版本 id: 固定补丁版本 - uses: devops-infra/action-pull-request@v1.0 # 固定次要版本 id: 固定次要版本 - uses: devops-infra/action-pull-request@v1 # 固定主要版本 id: 固定主要版本
欢迎贡献!详见 https://github.com/devops-infra/.github/blob/master/CONTRIBUTING.md%E3%80%82
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
如有问题或需要帮助,请:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务