如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ci-flutter 是一个为 Gitlab CI/CD 流水线设计的便捷镜像,集成了多种开发、部署工具及云服务客户端,旨在简化 CI/CD 流程中的环境配置、代码拉取、依赖管理和应用部署等环节。
v17镜像默认提供 Bash shell,内置以下工具,可直接用于脚本执行:
curl、OpenSSH、jq、zip、git、python3、AWS CLI、Google Cloud CLI
预置主机密钥
镜像已预置 gitlab.com 和 github.com 的 SSH 主机密钥(详见文件),无需手动配置 StrictHostKeyChecking。
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_SSH_KEY_[...] | 前缀为该值的变量会被写入磁盘,同时生成 CIBTO_SSH_KEY_[...]_PATH 变量存储文件路径,密钥会自动添加到 ssh-agent |
CIBTO_SSH_KNOWN_HOST_[...] | 前缀为该值的变量会被添加到 sshd 已知主机列表 |
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_GIT_USER_EMAIL | 设置 Git 全局用户*** |
CIBTO_GIT_USER_NAME | 设置 Git 全局用户名 |
命令
| 命令格式 | 描述 |
|---|---|
git-set-key <key_path> | 配置 Git 使用指定路径的 SSH 密钥,并禁用 StrictHostKeyChecking |
默认区域:eu-west-1
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_AWS_ECR_AUTO_LOGIN | 启用 ECR 自动登录(默认:0,不启用) |
CIBTO_AWS_S3_ENDPOINT | 设置 S3 端点(例如 https://cellar-c2.services.clever-cloud.com) |
命令
| 命令格式 | 描述 |
|---|---|
aws-ecr-login <region> | 登录指定区域的 AWS ECR 仓库 |
无特定环境变量或命令,可直接使用原生 az 命令。
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_GCLOUD_AR_AUTO_LOGIN | 启用 Artifact Registry 自动登录(默认:0,不启用) |
CIBTO_AZURE_RM_SUBSCRIPTION_ID | 设置 Azure 订阅 ID(注:该变量实际为 Azure 配置,此处按原文档保留) |
CIBTO_AZURE_RM_TENANT_ID | 设置 Azure 订阅租户 ID(注:同上) |
CIBTO_AZURE_RM_CLIENT_ID | 设置 Azure 服务主体应用 ID(注:同上) |
CIBTO_AZURE_RM_CLIENT_SECRET | 设置 Azure 服务主体密钥(注:同上) |
提供 Web 和移动应用的预览部署功能,支持通知集成。
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_PREVIEWS_SERVER_URL | 预览服务器 URL(例如 https://branches.domain.tld) |
CIBTO_PREVIEWS_TOKEN | 预览服务器认证 JWT 令牌 |
CIBTO_PREVIEWS_SLACK_HOOK_URL | (可选)Slack 通知 Webhook URL,用于推送部署通知 |
命令
| 命令格式 | 描述 |
|---|---|
push_web_preview <src_path|docker_tag> <app_name> | 部署 Web 预览: - 若为静态网站(SSG),传入静态文件目录路径(通常含 index.html); - 若为 Docker 镜像,传入镜像标签(镜像需监听 8080 端口); app_name 为自定义名称(如 backend/frontend、storybook) |
push_mobile_preview <filename> <filepath> <app_name> | 部署移动应用预览:filename 为下载时显示的文件名;filepath 为构建产物的系统路径;app_name 为自定义名称(如 android/ios) |
用于上传软件物料清单(BOM)至 Dependency Track 进行漏洞扫描。
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_DTRACK_HOST | 设置 Dependency Track 主机地址 |
CIBTO_DTRACK_API_KEY | 设置 Dependency Track API 密钥 |
命令
| 命令格式 | 描述 |
|---|---|
dtrack-upload -g <组名> -p <项目名> -b <BOM.json> | 上传 BOM 文件至 Dependency Track,需指定组名、项目名和 BOM 文件路径 |
| 变量名 | 描述 |
|---|---|
CIBTO_DEBUG | 设置任意值可启用镜像内置脚本的调试信息输出 |
yamlstages: - build - deploy-preview variables: CIBTO_GIT_USER_NAME: "CI Bot" CIBTO_GIT_USER_EMAIL: "ci@example.com" CIBTO_SSH_KEY_MY_REPO: "$SSH_PRIVATE_KEY" # 注入 SSH 密钥 CIBTO_PREVIEWS_SERVER_URL: "https://previews.example.com" CIBTO_PREVIEWS_TOKEN: "$PREVIEWS_JWT_TOKEN" CIBTO_PREVIEWS_SLACK_HOOK_URL: "$SLACK_HOOK" build_web: stage: build image: ci-flutter:v17 script: - git-set-key "$CIBTO_SSH_KEY_MY_REPO_PATH" # 使用注入的 SSH 密钥配置 Git - git clone git@github.com:example/project.git # 拉取代码 - cd project && npm install && npm run build # 构建静态 Web 应用 - push_web_preview ./dist frontend # 部署 Web 预览 deploy_mobile_preview: stage: deploy-preview image: ci-flutter:v17 script: - flutter build appbundle # 构建 Flutter 应用 - push_mobile_preview "app-debug.aab" "build/app/outputs/bundle/debug/app-debug.aab" android # 部署移动预览
bash# 启动容器并挂载本地 SSH 密钥、设置调试模式 docker run -it --rm \ -e CIBTO_DEBUG=1 \ -e CIBTO_SSH_KEY_TEST="$HOME/.ssh/id_rsa" \ -e CIBTO_GIT_USER_NAME="Local Test" \ -e CIBTO_GIT_USER_EMAIL="test@example.com" \ ci-flutter:v17 /bin/bash # 在容器内执行命令 git-set-key "$CIBTO_SSH_KEY_TEST_PATH" # 配置 Git SSH git clone git@gitlab.com:example/repo.git # 测试代码拉取
bashdocker run -it --rm \ -e CIBTO_AWS_ECR_AUTO_LOGIN=1 \ -e AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY" \ -e AWS_SECRET_ACCESS_KEY="$AWS_SECRET_KEY" \ ci-flutter:v17 \ sh -c "aws-ecr-login us-east-1 && docker push ***.dkr.ecr.us-east-1.amazonaws.com/my-app:latest"
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




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