用Fastlane + 蒲公英构建自动化测试分发流程(实践经验分享)

130 阅读3分钟

在移动开发团队中,「构建–上传–分发」常常是最费时、最容易出错的环节。
很多团队依旧依赖手动打包上传,而这在持续集成环境下几乎不可维护。

蒲公英(Pgyer.com)  提供的 API 上传接口 与 Fastlane 插件,让整个流程实现自动化,极大提升构建与测试效率。本文将从工程实践角度介绍如何构建一个稳定的自动化分发流程。


一、为什么选择 Fastlane + 蒲公英?

对比维度手动上传流程Fastlane + 蒲公英
效率人工点击上传、填写信息命令行一键完成
稳定性依赖操作习惯,容易出错自动化脚本复用,结果一致
团队协作上传者与测试者脱节上传即生成分发链接
可扩展性难以接入 CI/CD 流程可直接整合 Jenkins / GitHub Actions

蒲公英开放的 RESTful API 支持多语言调用(Shell、Python、Node.js 等),
而 Fastlane 的 pgyer 插件 则是更高层封装,适合直接集成到 iOS/Android 构建流程中。

二、核心流程架构

目标:  从代码提交到测试分发,全程自动化。

代码提交 → CI/CD 触发构建 → Fastlane 打包 → 上传至蒲公英 → 生成下载链接 → 通知测试人员

下图是一个典型的流程结构(可用于团队内部 Jenkins 流程):

️ 图示建议:一张 800×400 的流程架构图,可视化展示从 commit 到分发的链路。


三、Fastlane 集成蒲公英实战

1️⃣ 安装 Fastlane

sudo gem install fastlane -NV

2️⃣ 配置上传脚本

在项目目录下创建或编辑 Fastfile:

lane :beta do
  gym(export_method: "ad-hoc")     # 打包
  pgyer(api_key: "your_api_key",
        user_key: "your_user_key",
        update_description: "CI自动上传",
        install_type: "2")         # 2 = 密码安装
end

运行命令:

fastlane beta

即可完成自动打包与上传,控制台会输出一个可直接分享的安装链接。


四、与 CI/CD 平台集成

以下是一个 Jenkinsfile 示例片段,实现自动构建与分发:

stage('Distribute') {
    steps {
        sh 'fastlane beta'
    }
}

只要开发者提交代码,CI 即可自动触发打包、上传、分发整个流程。
测试人员能即时收到新版本,无需等待手动通知。


五、使用体验与优化建议

优点说明
自动化程度高彻底摆脱手动上传,构建时间缩短 60%+
支持多环境同一套脚本可应用于 iOS/Android
接口开放可用于其他上传策略,如企业内测平台
兼容性强支持多语言 SDK 与 API 调用

优化建议:

  • 在 CI 环境中使用环境变量保存密钥(如 API_KEY、USER_KEY),避免明文暴露。
  • 结合蒲公英 WebHook 接口,实现上传成功后自动推送消息到飞书/钉钉群。
  • 对测试安装日志进行分析,可进一步量化版本反馈数据。


六、总结

Fastlane + 蒲公英 的组合让移动开发团队能够构建一条真正可持续的  “自动化分发流水线”
从提交代码到安装测试,只需一次命令。

核心价值在于:

减少重复操作;

保证构建一致性;

提升协作透明度。

在持续集成的语境下,这已经不是一个“辅助工具”,
而是一种团队工程化能力的体现。