该Docker镜像专为Grafana插件开发设计,提供标准化的CI(持续集成)构建环境,解决不同CI平台间环境差异导致的构建问题。通过预装插件开发所需工具链,确保插件构建、测试、打包流程在各类CI系统(如GitHub Actions、GitLab CI、Jenkins)中保持一致,提升开发效率。
9.5.0、10.0.0),适配插件对不同Grafana版本的兼容性需求npm run build、grafana-cli plugin:build)npm test、Go测试)和集成测试,确保插件功能符合预期从Docker仓库拉取指定版本镜像(推荐使用具体Grafana版本标签而非latest,确保构建一致性):
bash# 拉取Grafana 9.5.0版本对应的构建镜像 docker pull grafana/plugin-ci:9.5.0
挂载插件代码目录并执行构建命令,示例:
bash# 假设当前目录为插件源代码根目录 docker run --rm \ -v $(pwd):/plugin \ # 挂载本地插件代码到容器内/plugin目录 -w /plugin \ # 设置工作目录为插件代码目录 -e GRAFANA_VERSION=9.5.0 \ # 指定目标Grafana版本(与镜像标签匹配) grafana/plugin-ci:9.5.0 \ # 使用对应版本镜像 sh -c "npm install && npm run build && grafana-cli plugin:build" # 构建命令序列
通过docker-compose.yml简化CI环境配置:
yamlversion: '3' services: plugin-builder: image: grafana/plugin-ci:9.5.0 volumes: - ./:/plugin # 挂载插件代码目录 - npm-cache:/root/.npm # 持久化npm缓存,加速依赖安装 working_dir: /plugin environment: - GRAFANA_VERSION=9.5.0 - PLUGIN_SIGN_KEY=/run/secrets/sign-key # 签名密钥路径(通过Docker Secrets挂载) command: > sh -c "npm install && npm run test && grafana-cli plugin:build && grafana-cli plugin:sign --key ${PLUGIN_SIGN_KEY}" # 构建+测试+签名流程 volumes: npm-cache: # 定义npm缓存卷
| 环境变量 | 描述 | 默认值 |
|---|---|---|
GRAFANA_VERSION | 目标Grafana版本,用于兼容性检查和工具链匹配 | latest |
NODE_VERSION | Node.js版本(前端开发),支持16.x/18.x/20.x | 18.x |
GO_VERSION | Go版本(后端开发),支持1.19/1.20/1.21 | 1.20 |
PLUGIN_DIR | 容器内插件代码根目录路径 | /plugin |
PLUGIN_SIGN_KEY | Grafana插件签名私钥文件路径(用于grafana-cli plugin:sign) | 无 |
在GitHub Actions工作流中集成镜像,实现自动构建:
yamlname: Plugin CI Build on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Build plugin with CI image uses: docker://grafana/plugin-ci:9.5.0 with: args: sh -c "npm install && npm run build && grafana-cli plugin:build" env: GRAFANA_VERSION: 9.5.0 - name: Upload build artifact uses: actions/upload-artifact@v3 with: name: plugin-build path: dist/*.zip # 上传构建生成的插件包
9.5.0)而非latest,避免因镜像更新导致构建环境变化node_modules、Go模块缓存),可显著减少构建时间您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务