如何在shell脚本中调用Fastlane的action或lane
从Shell脚本调用Fastlane Action的实现方法
完全可以直接在Shell脚本中调用指定的Fastlane Action,官方提供了原生支持,不需要额外依赖。
核心调用方式
使用Fastlane内置的fastlane run命令即可直接调用单个Action,不需要提前在Fastfile中定义Lane,调用格式如下:
fastlane run <Action名称> <参数1>:<值1> <参数2>:<值2>
基础使用示例
比如调用gym Action打App Store正式包,对应命令为:
fastlane run gym scheme:"MyApp" configuration:"Release" export_method:"app-store" output_directory:"./build"
完整Shell脚本集成示例
你可以直接把调用逻辑写入.sh脚本中批量执行:
#!/bin/bash # 前置检查Fastlane是否已安装 if ! command -v fastlane &> /dev/null then echo "未检测到Fastlane,请先执行 gem install fastlane 完成安装" exit 1 fi # 调用cocoapods Action更新依赖 fastlane run cocoapods use_bundler:false # 调用increment_version_number Action升级版本号 fastlane run increment_version_number version_number:"1.3.0" # 调用deliver Action上传构建包到App Store Connect fastlane run deliver username:"dev@example.com" app_identifier:"com.example.myapp" skip_binary_upload:false
常见使用说明
- 传参规则和Fastfile中调用Action的规则完全一致,参数名不需要做任何修改
- 参数值包含空格、特殊字符时,需要用双引号包裹
- 布尔类型参数直接传
true/false即可,例如禁用打包前的clean操作:fastlane run gym skip_clean:true - 如果Fastfile不在当前执行目录下,可添加
--chdir参数指定工作目录,例如Fastfile在./ios目录时:fastlane run --chdir ./ios gym scheme:"MyApp" - 可执行
fastlane action <Action名称>查看对应Action支持的所有参数和默认值说明
内容的提问来源于stack exchange,提问作者Narender Kumar
相关产品推荐
相关产品推荐

