
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
drone-slack 是 Drone CI/CD 系统的官方 Slack 通知插件,用于将 CI/CD 流水线的构建事件(如构建开始、成功、失败等)实时通知发送至 Slack 频道。该镜像作为 Drone 生态的一部分,旨在通过集成 Slack 实现构建状态的可视化与团队协作,帮助开发、测试及运维团队快速响应流水线异常,提升协作效率。
drone-slack 作为 Drone 插件,需在项目的 .drone.yml 配置文件中定义为流水线步骤(step)。以下为基础配置示例:
yamlkind: pipeline type: docker name: default steps: - name: slack-notify image: plugins/slack settings: webhook: https://hooks.slack.com/services/XXX/XXX/XXX # Slack Incoming Webhook URL(必填) channel: #dev-team # 目标 Slack 频道(必填,如 #ci-notifications) event: [success, failure] # 触发通知的事件(可选,默认 [failure]) status: [success, failure] # 构建状态(可选,与 event 配合使用) username: Drone CI # Slack 通知显示的用户名(可选,默认 "Drone") icon_url: https://drone.io/favicon.ico # 通知头像 URL(可选) message: "构建 {{ build.status }}: {{ repo.name }}#{{ build.number }} ({{ commit.branch }})" # 自定义消息(可选,支持变量替换) template: | # 消息模板(可选,支持 Markdown 与 Slack 附件格式) [{{ repo.name }}] {{ build.status }} ({{ commit.branch }}) 提交作者: {{ commit.author }} 提交信息: {{ commit.message }} 构建链接: {{ build.link }}
Drone 插件会将 .drone.yml 中 settings 下的配置项自动映射为环境变量(前缀 PLUGIN_)。若需手动运行容器(如本地测试),可通过 -e 参数传入环境变量:
| 配置参数 | 环境变量对应 | 是否必填 | 描述 |
|---|---|---|---|
webhook | PLUGIN_WEBHOOK | 是 | Slack Incoming Webhook URL(从 Slack 应用获取)。 |
channel | PLUGIN_CHANNEL | 是 | 目标 Slack 频道(格式:#channel-name 或 @user 用于私聊)。 |
event | PLUGIN_EVENT | 否 | 触发通知的事件类型,可选值:success/failure/always/changed。 |
status | PLUGIN_STATUS | 否 | 构建状态过滤,可选值:success/failure/error/killed。 |
username | PLUGIN_USERNAME | 否 | Slack 通知显示的用户名(默认:Drone)。 |
icon_url | PLUGIN_ICON_URL | 否 | 通知头像的 URL(支持 HTTP/HTTPS)。 |
message | PLUGIN_MESSAGE | 否 | 自定义通知消息正文(支持变量替换,如 {{ build.status }})。 |
template | PLUGIN_TEMPLATE | 否 | 消息模板(支持 Markdown 与 Slack 附件格式,优先级高于 message)。 |
link | PLUGIN_LINK | 否 | 是否包含 Drone 构建详情链接(默认:true)。 |
branch | PLUGIN_BRANCH | 否 | 仅特定分支触发通知(如 main,develop,逗号分隔)。 |
消息模板(message 或 template)中可使用以下 Drone 内置变量(通过 Drone Runner 自动注入):
| 变量名 | 描述 |
|---|---|
{{ build.number }} | 构建编号(如 123) |
{{ build.status }} | 构建状态(如 success/failure) |
{{ build.link }} | Drone 构建详情页 URL |
{{ repo.name }} | 仓库名称(如 my-project) |
{{ repo.branch }} | 构建分支(如 main) |
{{ commit.sha }} | 提交 SHA(前 8 位,如 a1b2c3d4) |
{{ commit.author }} | 提交作者(如 john@example.com) |
{{ commit.message }} | 提交消息 |
yamlkind: pipeline type: docker name: ci-pipeline steps: - name: test image: golang:1.21 commands: - go mod download - go test -v ./... - name: slack-notify image: plugins/slack settings: webhook: from_secret: slack_webhook # 从 Drone Secret 中读取 Webhook(推荐,避免硬编码) channel: #ci-alerts event: [failure, success] username: Drone CI Bot icon_url: https://drone.io/favicon.ico template: | 🚀 [{{ repo.name }}] {{ build.status | upper }} ({{ repo.branch }}) • 提交: {{ commit.sha }} ({{ commit.author }}) • 消息: {{ commit.message }} • 详情: {{ build.link }} when: branch: - main # 仅 main 分支触发通知
注意:
webhook建议通过 Drone Secret 管理(在 Drone 控制台为项目添加slack_webhook密钥),避免明文暴露。
模拟 Drone 环境变量,手动发送测试通知:
bashdocker run --rm \ -e PLUGIN_WEBHOOK=https://hooks.slack.com/services/XXX/XXX/XXX \ -e PLUGIN_CHANNEL=#test-notifications \ -e PLUGIN_EVENT=always \ -e PLUGIN_MESSAGE="测试通知:构建成功 🎉" \ -e DRONE_BUILD_STATUS=success \ -e DRONE_REPO_NAME=my-project \ -e DRONE_BUILD_LINK=https://drone.example.com/my-project/123 \ plugins/slack
运行后,目标 Slack 频道将收到一条测试通知。
webhook 是否有效(可通过 Slack 提供的测试按钮验证)、Drone Runner 是否有权限访问互联网(Slack Webhook 需外网访问)。.drone.yml 中 when 条件与 event 配置是否冲突(如 when:branch: [dev] 与 event: [success] 需同时满足)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务