如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://github.com/voxpupuli/container-voxbox/actions/workflows/ci.yaml/badge.svg](https://github.com/voxpupuli/container-voxbox/actions/workflows/ci.yaml)  rake rubocop:autocorrect_all # 自动纠正RuboCop违规(安全和不安全纠正) rake spec # 运行spec测试,成功后清理测试夹具目录 rake spec:simplecov # 使用Ruby simplecov代码覆盖率运行spec测试 rake spec_clean # 清理测试夹具目录 rake spec_clean_symlinks # 清理所有测试夹具符号链接 rake spec_list_json # 以JSON文档列出spec测试 rake spec_prep # 创建测试夹具目录 rake spec_standalone # 运行RSpec代码示例 rake strings:generate[patterns,debug,backtrace,markup,json,markdown,yard_args] # 使用YARD生成Puppet文档 rake strings:generate:reference[patterns,debug,backtrace] # 生成Puppet参考文档 rake strings:gh_pages:update # 更新gh-pages分支上的文档并推送到GitHub rake strings:validate:reference[patterns,debug,backtrace] # 验证参考文档是否最新 rake syntax # 语法检查Puppet清单、模板和Hiera rake syntax:hiera # 语法检查Hiera配置文件 rake syntax:manifests # 语法检查Puppet清单 rake syntax:templates # 语法检查Puppet模板 rake test # 运行测试 rake travis_release # 已弃用:使用"release"任务替代 rake validate # 检查Ruby文件语法并调用:syntax和:metadata_lint rake voxpupuli:custom:lint_all # 使用所有puppet-lint检查进行代码检查
若要运行onceover,需覆盖入口点:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint onceover ghcr.io/voxpupuli/voxbox:8 help
Onceover允许针对控制仓库运行测试。
初始化onceover:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint onceover ghcr.io/voxpupuli/voxbox:latest init
运行spec测试:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint onceover ghcr.io/voxpupuli/voxbox:8 run spec
使用Puppetfile中的内部git+ssh模块运行spec测试:
shellpodman run -it --rm \ -v ~/.ssh:/root/.ssh:Z \ -v $PWD:/repo:Z \ --entrypoint onceover ghcr.io/voxpupuli/voxbox:latest run spec
带Puppet输出运行spec测试:
shellpodman run -it --rm \ -v $PWD:/repo:Z \ -e SHOW_PUPPET_OUTPUT=true \ --entrypoint onceover ghcr.io/voxpupuli/voxbox:latest run spec
其他命令:
| 命令 | 功能描述 |
|---|---|
show puppetfile | 分析Puppetfile并显示可用更新 |
update puppetfile | 更新模块 |
更多命令、所需配置和使用方法详见https://github.com/voxpupuli/onceover%E3%80%82
若需要shell,需覆盖入口点:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint ash ghcr.io/voxpupuli/voxbox:8
若要执行puppet,将入口点更改为puppet并传递子命令/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint puppet ghcr.io/voxpupuli/voxbox:8 --help
puppet-strings
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint puppet ghcr.io/voxpupuli/voxbox:8 strings --help
若要执行puppet-ghostbuster,将入口点更改为ash并向容器传递命令。Ghostbuster需要连接到OpenVoxDB/PuppetDB,因此需提供环境变量。可在https://github.com/voxpupuli/puppet-ghostbuster%E4%BB%93%E5%BA%93%E7%9A%84%E6%96%87%E6%A1%A3%E4%B8%AD%E6%89%BE%E5%88%B0%E7%9B%B8%E5%85%B3%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E3%80%82
Ghostbuster支持以下检查:
可通过--only-checks组合这些检查,用逗号分隔列表。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint ash ghcr.io/voxpupuli/voxbox:8 find . -type f -exec bundle exec --gemfile /Gemfile puppet-lint --only-checks ghostbuster_classes,ghostbuster_facts {} \+
若要执行yamllint,将入口点更改为yamllint并向容器传递文件夹(例如.)。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint yamllint ghcr.io/voxpupuli/voxbox:8 .
若要执行jq,将入口点更改为jq并向容器传递查询/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint jq ghcr.io/voxpupuli/voxbox:8 --help
若要执行curl,将入口点更改为curl并向容器传递查询/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint curl ghcr.io/voxpupuli/voxbox:8 --help
若要直接执行RuboCop,将入口点更改为rubocop并传递子命令/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint rubocop ghcr.io/voxpupuli/voxbox:8 podman run -it --rm -v $PWD:/repo:Z --entrypoint rubocop ghcr.io/voxpupuli/voxbox:8 --auto-gen-config
若要执行librarian,将入口点更改为librarian-puppet并传递查询/参数。
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint librarian-puppet ghcr.io/voxpupuli/voxbox:8 help
若要使用纯eyaml加密/解密数据,更改入口点如下:
shellpodman run -it --rm -v $PWD:/repo:Z --entrypoint eyaml ghcr.io/voxpupuli/voxbox:8 edit /repo/
evb脚本简化了运行voxbox的命令输入。此外,它不关心选项顺序,这对设置shell别名很有用。运行命令时,必须进入openvox模块(含metadata.json文件)或控制仓库(含Puppetfile)的任何子目录。
显示evb帮助信息:
shell$ evb help Usage: /usr/local/bin/evb [options] [command] available options: --noop : 打印要运行的命令,但不执行 --entrypoint : 使用不同的入口点 可用入口点示例: onceover, ash, puppet, yamllint, jq, curl, rubocop 默认:不指定入口点 --image image : 使用不同的镜像(默认ghcr.io/voxpupuli/voxbox:8) --env VAR=val : 指定环境变量(可多次使用) 注意:赋值中的'./'将替换为容器中使用的正确路径。 示例:若在~/openvox-supermodule/spec/classes中启动脚本 并设置--env SPEC=./supermodule_spec.rb,将 使用-e SPEC=spec/classes/supermodule_spec.rb运行VoxBox --volume vol : 指定要放入容器的额外卷 参见podman
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务