PGYER/fir-cli(opens in a new tab)
Language: Ruby
fir.im(betaqr.com) command-line interface
- stars
- 1,061
- watchers
- 38
- forks
- 226
- open issues
- 4
- Last updated
- 05/11/2026
Language: Ruby
fir.im(betaqr.com) command-line interface
fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用.
如果您在安装 fir-cli 过程中出现了各种问题, 但是着急使用的话, 现也有一个go 版本的 go-fir-cli 供大家使用, 无需安装依赖, 可以直接使用. 具体请访问 https://github.com/PGYER/go-fir-cli. 注意! 该版本功能并不与fir-cli 完全重合, 具体使用方式请参考该项目的 readme 文件.
gem install fir-cli 升级到最新版本的 fir-cli, 目前最新版本是 fir version 查看当前版本号Info.plist not readable! 的问题feishu_access_token 和 feishu_custom_message, 详情见 fir publish --helpgem update fir-cli 即可dingtalk_access_token 使用dingtalk_access_token 使用bundletool 工具, 具体请参见参数 --bundletool_jar_path 和 --auto_download_bundletool_jarspecify_app_display_name, 指定 app 显示名称need_ansi_qrcode, 在控制台直接打印二维码, jenkins 用户可能需要使用 AnsiColor Plugin 插件配合dingtalk_custom_message, 可以在钉钉通知里增加自定义消息, 此命令需配合 dingtalk_access_token 使用skip_fir_cli_feedback, 可禁止 fir-cli 发送统计信息switch_to_qiniu 恢复fir publish 上传生成的ipa [2019年03月21日]就是回调地址中的长得最像 access_token 的东西
钉钉: https://oapi.dingtalk.com/robot/send?access_token=xxxxx
就是 xxx 那部分
企业微信: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx-xxxx-xxxx-xxxx-xxxxx
就是 xxxxx-xxxx-xxxx-xxxx-xxxxx 那部分
https://open.feishu.cn/open-apis/bot/hook/xxxxxxxxxxxxxxxxxxx
就是 xxxxxxxxxxxxxxxx 那部分
参见 blog http://blog.betaqr.com/use-fir-cli-in-jenkins/
这里有个快速检查脚本, 可以在 jenkins 中新建一个 脚本, 进行检查
#!/bin/bash --login
rvm list # 确保 rvm 正确安装, 如果直接通过系统安装ruby, 可以注释此行
ruby -v # 查看 ruby 的版本, 请确保大于 2.4.0
gem install fir-cli # 现场安装fir-cli , 如果安装过, 则会略过
fir -v # 查看 fir-cli 的版本
# 在这里执行 fir publish xxxxx
fir-cli 在 2.0.18 版本已经支持自动判别用户是否是海外上传, 如果是海外ip, 则上传自动进行海外加速.
[已废弃]2.0.3 版本 及其以上, 可以申请海外加速内测资格, 开启后可以使用海外加速上传 --oversea_turbo
更多细节请参考 #260
可以直接在命令行里调用,也可以安装 fastlane 的配套插件 fir_cli 具体请参见 https://github.com/FIRHQ/fastlane-plugin-fir_cli
可以将日志先输出成一个文本, 之后 --changelog=这个本文 即可实现changlog换行
可以在 publish 的时候使用 --specify_icon_file_path=xxx 来自己指定图标文件 或者使用 --skip_update_icon 来跳过图标文件的上传
能, 但是 aab 文件手机上并不能直接安装, 需要通过桌面使用 bundletool 工具来生成对应手机的 apk 包.
fir-cli 提供对 aab 文件有限程度支持的上传与下载. 在使用 fir-cli 上传 aab 文件时, 需要满足三个条件任意一条
brew install bundletool 等手段, 可以在命令行里直接调用 bundletool--bundletool_jar_path 参数, 参数给出了 bundletool.jar 包的地址, 且命令行可以直接调用 java 指令https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar 地址不被墙, 使用--auto_download_bundletool_jar 可以下载 bundletool可以在 publish 的时候使用 --force_pin_history 这样 这个上传的版本即成为 "历史版本", 会在下载页面里一直显示. 当有新的版本上传后, 这个版本会作为 "历史版本" 在下载页面中展示.
当版本设置为历史版本后, 用户可以直接下载指定的版本, 由于因成本原因, 一个 app 最多的 "历史版本" 为 30 个, 如果有用户有特殊需求, 可以与我们取得联系进行单独修改
当达到上限后, 如果继续标记 force_pin_history, 则历史版本的最老版本(以上传时间为准)会被移出历史版本列表
因为网络时延问题, 可传入环境变量 FIR_TIMEOUT=xxx 进行超时时间设置
可以联系微信 atpking
假设 我需要上传桌面的 1.apk
docker run -e API_TOKEN=您的token -v 您的上传文件的目录的绝对路径:/tmp ghcr.io/pgyer/fir-cli:latest publish /tmp/你的文件
# 如 `docker run -e API_TOKEN=xxxxxxxe -v /Users/atpking/Desktop:/tmp ghcr.io/pgyer/fir-cli:latest publish /tmp/1.apk`
# 实际含义是把我的桌面挂载到 docker 里的 /tmp 目录 之后上传 docker 文件里的 /tmp/1.apk
# 也可以修改为其他目录
推荐使用
ghcr.io/pgyer/fir-cli:latest(GitHub 托管, 国内拉取更稳)。历史镜像docker.io/firhq/fir-cli:latest同步更新, 命令中替换镜像名即可。
联系微信 atpking, 请注明 "fir-cli 交流"
使用 Github 的 Issue
hia~ hia~ hia~