Fastlane 使用教程
1. 项目目录结构及介绍
Fastlane 的源码仓库包含了多个子模块,这些子模块分别对应不同的工具,用于iOS和Android应用的自动化部署和管理。以下是主要目录结构及其功能:
fastlane/
├── assets/ # 存放相关资源
├── ci/ # 持续集成相关的配置和脚本
│ └── circleci/ # CircleCI 集成配置
├── bin/ # 存放可执行文件
├── cert/ # 自动管理 iOS 开发和发布证书
├── credentials_manager/ # 证书和密钥管理工具
├── deliver/ # 发布应用到 App Store Connect
├── fastlane/ # 主框架和核心组件
├── fastlane_core/ # 快速通道的核心库
├── frameit/ # 为截图添加边框
├── gym/ # 构建并打包 iOS 应用
├── match/ # 管理代码签名文件
├── pem/ # 自动创建和更新推送通知证书
├── pilot/ # 分发测试版应用给 TestFlight 用户
├── precheck/ # 检查 App Store 提交指南
├── produce/ # 创建新的 iOS 或 tvOS 项目
├── rakelib/ # 共享的 Ruby 函数
├── scan/ # 运行 Xcode 测试
├── screengrab/ # 为 Android 应用自动生成截图
├── sigh/ # 下载或自动续签 Provisioning Profiles
├── snapshots/ # 自动生成本地化的 App Store 截图
├── spaceship/ # 与 App Store Connect 和 Google Play 后台交互的 API 客户端
└── supply/ # 管理 Android 产品的版本发布
每个子目录通常包含一个或多个 Ruby 文件,它们定义了 fastlane 工具的功能。
2. 项目启动文件介绍
在 fastlane
项目中没有单一的启动文件,而是通过命令行工具 fastlane
来调用各个子模块。fastlane
是一个ruby gem,可以全局安装,然后在终端中通过以下命令来运行:
fastlane [command] [sub_command]
例如,要使用 deliver
工具上传应用到App Store,你可以输入:
fastlane deliver
更多命令可以通过运行 fastlane action
查看所有可用的动作(actions)。
3. 项目的配置文件介绍
Fastlane 的主要配置文件是 Fastfile
,它位于你的应用程序根目录下。这个文件包含了描述如何执行特定任务的Ruby代码,比如构建、测试和发布流程。
一个基本的 Fastfile
可以这样写:
default_platform(:ios)
platform :ios do
lane :beta do
cocoapods
build_app(scheme: "YourApp")
upload_to_testflight
end
lane :release do
match(type: "appstore")
gym(scheme: "YourApp")
deliver
end
end
在上面的例子中,我们定义了两个 lane(车道),beta
和 release
。beta
车道用于构建并上传测试版本到TestFlight,而 release
车道则用于发布到App Store。cocoapods
、build_app
、upload_to_testflight
、match
、gym
和 deliver
是 fastlane 提供的动作(actions)。
此外,Gemfile
用来管理 fastlane 及其依赖的 gem 版本。如果你有特定的需求,可以在项目根目录下编辑此文件。
如果你需要管理证书和密钥,还可以创建一个名为 Appfile
的文件,来存储你的Apple ID、团队ID以及证书相关信息。
总的来说,Fastfile
和 Appfile
共同构成了 fastlane 的配置体系,让你能够定制化自动化流程并轻松地重复执行。