本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Grafana Publisher 是一个用于将插件发布到 grafana.com 的工具,支持通过命令行或在 CircleCI 环境中运行。该工具提供了一系列命令,覆盖插件发布流程的各个环节,包括环境验证、信息查询、暂存发布和正式发布等功能。
运行不带参数的应用程序将显示帮助信息:
docker run grafana/integration-plugin-publisher:latest
| 选项 | 缩写 | 描述 |
|---|---|---|
| --version | -V | 输出版本号 |
| --auto | -a | 无交互模式运行,自动回答所有提示 |
| --log [logfile] | -l | 日志输出到文件 |
| --loglevel [info|debug] | 设置日志级别 (info 或 debug) | |
| --dryrun | -d | 试运行模式,不执行实际操作 |
| --help | -h | 显示帮助信息 |
| 环境变量 | 用途 |
|---|---|
| GCOM_PUBLISH_TOKEN | 具有发布权限的 grafana.com API 密钥 |
| GCOM_ADMIN_TOKEN | 具有管理员权限的 grafana.com API 密钥(仅用于 setdependency 命令,普通发布不需要) |
| GITHUB_TOKEN | 具有仓库读写权限的 GitHub API 令牌 |
| GCLOUD_SERVICE_KEY | 具有 GCS 集成 artifacts 存储桶写入权限的 JSON 密钥内容 |
这些变量值可在 1Password 中找到,并且在每个 CircleCI 项目中已预设。
| 命令 | 描述 |
|---|---|
| validate | 检测运行应用程序所需的环境设置 |
| info | 收集并显示指定本地插件的信息 |
| inforemote | 收集并显示指定远程插件的信息 |
| stage | 执行插件到暂存环境的发布(当前未实现) |
| stageremote | 执行远程插件到暂存环境的发布(当前未实现) |
| publish | 执行本地插件到生产环境的发布 |
| publishremote | 执行远程插件到生产环境的发布 |
| setdependency | 设置插件的 grafanaDependency 属性 (>=7.0.0 格式) |
| help | 显示命令帮助信息 |
验证环境变量是否存在且能正常工作,dryrun 和 publish 命令会自动运行此验证。
docker run \ -e GCOM_PUBLISH_TOKEN=$GCOM_PUBLISH_TOKEN \ -e GITHUB_TOKEN=$GITHUB_TOKEN \ -e GCLOUD_SERVICE_KEY=$GCLOUD_SERVICE_KEY \ grafana/integration-plugin-publisher:latest \ grafana-publisher.js validate
输出示例:
OK: Publish to GCOM Key found in environment setting OK: GCS Authentication found in environment setting OK: GIT Key found in environment setting [2020-07-25T05:51:54.047] [DEBUG] publisher - GCOM testing GET to [***] OK: GCOM is working Validation Successful
获取本地仓库中已发布插件的摘要信息,需要本地存在 plugin.json 文件且与插件 ID 匹配。
docker run \ -v $(pwd):/workspace \ -w /workspace \ grafana/integration-plugin-publisher:latest \ grafana-publisher info grafana-newrelic-datasource dist/plugin.json 2.0.5
获取已发布插件的摘要信息,通过插件 ID 标识,可指定版本(默认为最新版本)。
docker run \ -e GITHUB_TOKEN=$GITHUB_TOKEN \ grafana/integration-plugin-publisher:latest \ grafana-publisher inforemote grafana-newrelic-datasource 2.0.5
执行本地插件到生产环境的发布,这是应用程序的主要功能。
docker run \ -v $(pwd):/workspace \ -w /workspace \ -e GCOM_PUBLISH_TOKEN=$GCOM_PUBLISH_TOKEN \ -e GITHUB_TOKEN=$GITHUB_TOKEN \ -e GCLOUD_SERVICE_KEY=$GCLOUD_SERVICE_KEY \ grafana/integration-plugin-publisher:latest \ grafana-publisher publish grafana-newrelic-datasource 2.0.5 dist/plugin.json
通过指定仓库 URL 和版本号,无需本地检出代码即可将插件发布到生产环境。
docker run \ -e GCOM_PUBLISH_TOKEN=$GCOM_PUBLISH_TOKEN \ -e GITHUB_TOKEN=$GITHUB_TOKEN \ -e GCLOUD_SERVICE_KEY=$GCLOUD_SERVICE_KEY \ grafana/integration-plugin-publisher:latest \ grafana-publisher publishremote [***] 1.0.0
设置插件的 grafanaDependency 属性,值的格式应为 >=7.0.0。
docker run \ -e GCOM_PUBLISH_TOKEN=$GCOM_PUBLISH_TOKEN \ -e GCOM_ADMIN_TOKEN=$GCOM_ADMIN_TOKEN \ grafana/integration-plugin-publisher:latest \ grafana-publisher setdependency grafana-newrelic-datasource 2.0.5 '>=7.0.0'
docker run \ -e GCOM_PUBLISH_TOKEN=$GCOM_PUBLISH_TOKEN \ -e GITHUB_TOKEN=$GITHUB_TOKEN \ -e GCLOUD_SERVICE_KEY=$GCLOUD_SERVICE_KEY \ grafana/integration-plugin-publisher:latest \ grafana-publisher validate
# .circleci/config.yml 片段 jobs: publish-plugin: docker: - image: grafana/integration-plugin-publisher:latest environment: - GCOM_PUBLISH_TOKEN: $GCOM_PUBLISH_TOKEN - GITHUB_TOKEN: $GITHUB_TOKEN - GCLOUD_SERVICE_KEY: $GCLOUD_SERVICE_KEY steps: - checkout - run: name: Publish plugin to grafana.com command: grafana-publisher --auto --loglevel debug publish my-plugin-id $CIRCLE_TAG dist/plugin.json
# 测试发布(dryrun 模式) docker run \ -v $(pwd):/workspace \ -w /workspace \ -e GCOM_PUBLISH_TOKEN=$GCOM_PUBLISH_TOKEN \ -e GITHUB_TOKEN=$GITHUB_TOKEN \ -e GCLOUD_SERVICE_KEY=$GCLOUD_SERVICE_KEY \ grafana/integration-plugin-publisher:latest \ grafana-publisher --dryrun --loglevel debug publish grafana-newrelic-datasource 2.0.5 dist/plugin.json
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429