
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
从Slack触发Rundeck或Jenkins作业。
示例:
@corebot deploy user-service 1.0 to staging > corebot: > OK, I'm deploying user-service version 1.0 to staging. > Status of job is: running > Details: [***]
为何需要此工具?了解ChatOps。
触发部署作业
!https://github.com/outofcoffee/corebot/raw/master/docs/images/deploy.png
触发其他自定义作业
!https://github.com/outofcoffee/corebot/raw/master/docs/images/restart.png
锁定功能防止意外部署
!https://github.com/outofcoffee/corebot/raw/master/docs/images/lock_deploy_fail.png
解锁已锁定内容
!https://github.com/outofcoffee/corebot/raw/master/docs/images/unlock.png
获取帮助
!https://github.com/outofcoffee/corebot/raw/master/docs/images/unknown.png
最快的启动方式是使用Docker镜像:
bashdocker run -d \ --env SLACK_AUTH_TOKEN="CHANGEME" \ --env SLACK_CHANNEL_NAME="corebot" \ --env RUNDECK_API_TOKEN="CHANGEME" \ --env RUNDECK_BASE_URL="http://rundeck:4440" \ -v /path/to/actions.yml:/opt/corebot/actions.yml \ outofcoffee/corebot
注意:容器不需要暴露任何入站端口。
机器人包含内置动作和自定义动作。内置动作如锁定/解锁功能,自定义动作是Rundeck作业的触发器,通过配置文件(通常名为actions.yml)进行配置。
注意:
BOT_CONFIG的默认路径为/opt/corebot/actions.yml
示例:
yamlversion: '1' actions: services: jobId: 9374f1c8-7b3f-4145-8556-6b55551fb60f template: deploy services {version} to {environment}
文件结构:
actions块下services)动作模板
动作模板提供调用命令的语法。
示例:
deploy services
模板还允许将作业选项指定为占位符,例如:
deploy services {version} to {environment}
在此示例中,version和environment均从命令中捕获,如:
@corebot deploy services 1.0 to UAT
这将触发动作,并传递以下选项:
默认选项
有时可能需要默认传递某个选项,而无需用户提供。可通过options动作块实现:
yamlversion: '1' actions: services: jobId: 9374f1c8-7b3f-4145-8556-6b55551fb60f template: deploy services {version} to {environment} options: myOption: someValue
这将触发动作,并传递以下选项:
标签与多作业动作
有时动作可在多个作业上运行。通过设置tags块实现:
yamlversion: '1' actions: deploy-services: jobId: 9374f1c8-7b3f-4145-8556-6b55551fb60f template: deploy services {version} to {environment} tags: - services restart-services: jobId: e9d12eec-abff-4780-89cd-56a48b8c67be template: restart services in {environment} tags: - services
此处定义了两个动作:deploy-services和restart-services,均标记为services。这意味着可以执行:
@corebot lock services
……两个动作都将被锁定。
提示:所有动作都有一个特殊标签
all,因此可以执行@corebot lock all。
内置动作包括:
@corebot lock {动作名称或标签} - 锁定动作以防止意外触发。@corebot unlock {动作名称或标签} - 解锁已锁定的动作。@corebot status {动作名称或标签} - 显示动作状态。@corebot enable {动作名称或标签} - 设置作业的Rundeck执行状态 - 注意: 这要求Rundeck ACL允许API用户设置作业执行状态。@corebot disable {动作名称或标签} - 设置作业的Rundeck执行状态 - 注意: 这要求Rundeck ACL允许API用户设置作业执行状态。接受拉取请求:https://github.com/outofcoffee/corebot
Slack API:[***]
Rundeck API:[***]
任何支持API v14或更高版本的Rundeck实例均可使用。
例如,以下是非官方Rundeck Docker镜像:https://hub.docker.com/r/jordan/rundeck/
bashdocker run -it \ -p 4440:4440 \ -e SERVER_URL=http://localhost:4440 \ jordan/rundeck
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务