蒲公英文档中心

自动上传 App 与 CI/CD 集成指南

按使用场景选择快速上传 API、CLI、CI/CD 插件、MCP 或 Agent Skill,将蒲公英接入构建脚本、发布系统和 AI 助手。

您可以在构建完成后自动将安装包上传到蒲公英,获取下载链接和二维码,再交给测试人员安装。本文汇总常见接入方式,帮助您选择工具并完成基本集成;完整参数和平台配置可继续查看对应专题文档。

自动上传的完整流程

构建、签名并生成安装包 → 上传到蒲公英 → 等待发布处理完成 → 获取下载链接或二维码 → 分发给测试人员。

您的开发工具或 CI/CD 系统负责构建和签名,蒲公英负责接收安装包、处理发布并提供下载分发。请先确保构建步骤已经生成可用的安装包,再执行上传步骤。

选择适合您的接入方式

您的使用场景建议方式接入说明
希望通过几条命令上传,或在通用流水线中增加上传步骤蒲公英 CLI安装命令行工具,通过环境变量认证后执行上传
已有 Shell 脚本,或不方便安装 Node.jsShell 上传示例将现成脚本加入构建后的步骤
自研发布平台、后台服务或业务系统快速上传 API自行调用接口,或参考多语言代码示例
使用 JenkinsJenkins 插件配置构建后上传,也可在 Pipeline 中运行 CLI 或脚本
使用 FastlaneFastlane 插件在现有 lane 的打包步骤之后加入上传
使用 GitHub Actions蒲公英上传 Action 或 CLI在生成安装包后增加上传 step
使用 GitLab CI 或其他 CI/CD 平台CLI、Shell 或快速上传 API使用平台的命令执行能力,并传入构建产物和密钥
希望通过对话让 AI 助手上传安装包、查询应用蒲公英 MCP为兼容 MCP 的 AI 客户端提供上传和查询工具
希望 AI 协助上传、整理结果或编写 CI/CD 配置蒲公英 Agent Skill为 AI 提供操作流程、示例和排错指引,可与 MCP 配合
希望在 Android Studio 内手动上传 APKAndroid Studio 插件在 IDE 中选择安装包并上传

如果您还没有确定工具,可以从 CLI 开始;需要将上传深度集成到自己的系统时,选择快速上传 API。多语言示例是快速上传 API 的实现参考,Shell 示例也是其中一种。

接入前的准备

  1. 准备已经构建并签名的安装包。快速上传 API 和 CLI 支持 .ipa.apk.hap;各插件支持的类型以对应工具说明为准。HarmonyOS 的证书及依赖文件要求见 HarmonyOS 内测分发
  2. 登录蒲公英,在 API 信息页面 获取 API Key。
  3. 在 CI/CD 的密钥或凭据管理中保存 API Key,并注入上传步骤。CLI、Shell 示例和 MCP 可以使用环境变量 PGYER_API_KEY;插件请按其参数要求配置。
  4. 确认上传步骤能读取安装包并访问蒲公英 API 及接口返回的上传地址。构建和上传分属不同 Job 时,需要先传递或下载构建产物。

请勿将真实 API Key 写入 Git 仓库或输出到构建日志。日常自动上传使用流水线提供的密钥,无需每次交互式登录。

快速开始:通过 CLI 上传

在满足 CLI 环境要求 的机器上安装工具:

npm install -g @pgyer/cli

在 CI/CD 中配置好 PGYER_API_KEY 后,执行:

pgyer upload ./app-release.apk

将路径替换为您的实际安装包路径;路径包含空格时请加引号。CLI 默认等待蒲公英处理完成;需要供后续程序读取结果时,可添加 --json。本地开发也可以先运行 pgyer auth login 完成认证,再执行上传。

例如,在已有构建步骤之后添加以下 Shell 命令:

set -eu
: "${PGYER_API_KEY:?请先在 CI/CD 中配置 PGYER_API_KEY}"
test -f ./app-release.apk
pgyer upload ./app-release.apk

该片段假设 CLI 已安装,且安装包已放入当前工作目录。正式流水线中建议固定经过验证的 CLI 版本。更多参数请运行 pgyer upload --help,或查看 CLI 文档

如果您使用现有 Shell 环境,可将 Shell 示例 下载并纳入自己的脚本目录。按照示例说明准备依赖、配置 PGYER_API_KEY 后执行:

bash ./shell-demo/pgyer_upload.sh ./app-release.apk

通过快速上传 API 接入自己的系统

新接入建议使用 快速上传 API,核心流程包含三个步骤:

  1. 获取上传凭证:调用 getCOSToken,取得上传地址 endpoint、文件标识 key 和签名参数。
  2. 上传安装包:按接口说明,将文件和签名参数以 multipart/form-data 提交到返回的 endpoint。请使用响应中的地址和参数。
  3. 查询发布结果:使用第一步返回的 key 作为查询参数 buildKey,调用 buildInfo,等待发布完成并取得应用信息。

文件上传成功后,蒲公英还需要处理安装包。上传请求返回成功并不代表发布完成;请以 buildInfo 的最终业务结果判断成功或失败,并为轮询设置间隔和超时。

代码示例仓库 提供可运行的实现参考:

语言示例入口
Shellshell-demo
Javajava-demo
Node.jsnodejs-demo
PHPphp-demo
Pythonpython-demo
C#csharp-demo

具体依赖、调用参数和错误处理见各目录说明;完整接口字段见 上传与发布 API

接入现有 CI/CD 工具

Jenkins

使用 Jenkins 插件,可在 Job 的构建后操作中配置 API Key、安装包所在目录及匹配规则。上传后,可将插件返回的变量用于后续步骤。

如果您使用 Jenkins Pipeline,也可以在已有构建步骤后运行前面的 CLI 或 Shell 命令,并通过 Jenkins 凭据管理注入 API Key。

Fastlane

在项目中安装蒲公英插件:

fastlane add_plugin pgyer

在已经完成打包配置的 lane 中,紧接打包步骤加入:

pgyer(api_key: ENV.fetch("PGYER_API_KEY"))

安装包路径、更新说明和安装方式等配置见 Fastlane 文档插件仓库

GitHub Actions

您可以使用 蒲公英上传 Action,按所选版本的 action.yml 配置参数并确认运行时兼容性;也可以在已有工作流中调用 CLI。

以下片段放在同一个 Job 的构建步骤之后,假设已准备好 CLI 所需的 Node.js 环境,并在仓库 Secrets 中保存了 PGYER_API_KEY

- name: Install Pgyer CLI
  run: npm install -g @pgyer/cli

- name: Upload to Pgyer
  env:
    PGYER_API_KEY: ${{ secrets.PGYER_API_KEY }}
  run: pgyer upload ./app-release.apk

请替换实际安装包路径,并选择可以访问该 Secret 的发布触发条件。CLI 安装版本可按团队验证结果固定。

GitLab CI 与其他平台

在构建完成后的 Job 或步骤中安装 CLI、注入 PGYER_API_KEY 并执行上传命令即可。GitLab CI 中可以通过 CI/CD Variables 保存密钥,通过 artifacts 将安装包传递给上传 Job。

接入其他系统时也遵循相同流程:准备运行环境、取得构建产物、配置认证、执行上传、检查结果。支持执行脚本或发出 HTTP 请求的平台都可以按此方式集成。

通过 AI 助手上传:MCP 与 Agent Skill

MCP:让 AI 调用上传和查询工具

蒲公英 MCP 将上传安装包、查询应用列表、按短链接查询应用信息等能力提供给兼容的 AI 客户端。

按照 MCP 文档完成客户端配置,并确保工具运行环境能读取安装包后,您可以向 AI 助手提出这样的请求:

示例请求

build/release/app.apk 上传到蒲公英,并返回下载链接和二维码。

Agent Skill:指导 AI 完成接入流程

蒲公英 Agent Skill 提供上传方式选择、结果整理、CI/CD 示例和排错指引。可通过以下命令安装,再按专题文档配置认证:

npx skills add PGYER/pgyer-skill

您既可以让 AI 上传已有安装包,也可以让它协助配置流水线:

示例请求

为这个 Android 项目配置 GitLab CI,在构建成功后自动上传到蒲公英,通过 CI/CD Variables 读取 API Key。

MCP 提供可调用的工具,Skill 指导 AI 如何选择和组合操作,两者可以配合使用。当前 Skill 优先使用可用的 MCP,也提供 Shell 脚本和 API 接入路径,具体行为见 Skill 仓库

AI 生成的流水线配置需要结合项目的构建命令、产物路径和触发条件检查并运行验证。配置完成后,后续自动上传由流水线执行。

上传结果与常用发布设置

快速上传 API 发布成功时,可从 buildInfodata 中取得以下信息;CLI 和各插件的输出形式以各自文档为准。

信息API 字段或用法
构建标识buildKey,可在您的发布记录中保存
应用名称、版本buildNamebuildVersion
下载页面buildShortcutUrl 拼接为 https://www.pgyer.com/<buildShortcutUrl>
二维码buildQRCodeURL 返回的地址

拿到结果后,可将下载地址写入构建摘要,或交给现有通知步骤发送给测试人员。更多通知配置见 外部集成与通知相关文档

常用发布设置包括更新说明、公开或密码安装、邀请安装,以及指定已创建的渠道。快速上传 API 对应参数为 buildUpdateDescriptionbuildInstallTypebuildPasswordbuildChannelShortcut;各工具的参数名称可能不同,请查看专题说明。

常见问题

没有对应平台的专用插件,能否接入?

可以。只要系统能执行命令或调用 HTTP 接口,就可以使用 CLI、Shell 或快速上传 API。上传步骤需要能够读取安装包并访问相关服务。

上传失败或超时应该如何处理?

先检查安装包路径、读取权限、API Key 和网络,再查看工具或 API 返回的错误说明。查询发布结果时,只对文档说明的处理中状态继续轮询;遇到明确失败应停止并处理原因。超时后先核实发布结果,再决定是否重新上传,避免重复提交。

上传成功后,安装包是否可以一直保留?

自动上传同样适用 版本保留与自动清理规则。请在 CI/CD 产物库或归档系统中保存仍需长期使用的安装包。

更多开发工具

各专题文档继续提供完整安装步骤、参数和示例,您可以根据选型表进入对应页面。

本页目录