Giter Site home page Giter Site logo

fir-cli's Introduction

✈ fir.im-cli

GitHub license 最新版本的版本号

fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用.

fir-cli

如果您在安装 fir-cli 过程中出现了各种问题, 但是着急使用的话, 现也有一个go 版本的 go-fir-cli 供大家使用, 无需安装依赖, 可以直接使用. 具体请访问 https://github.com/PGYER/go-fir-cli. 注意! 该版本功能并不与fir-cli 完全重合, 具体使用方式请参考该项目的 readme 文件.

请注意

  • 如果您遇到了任何fir-cli 使用上的问题, 建议您首先使用 gem install fir-cli 升级到最新版本的 fir-cli, 目前最新版本是 最新版本的版本号, 您要是不确定的话, 可以使用 fir version 查看当前版本号
  • 请注意, 请尽快将 fir-cli 的版本升级至 2.0.15 以上, 旧有 api 即将过期
  • 我们也提供 docker 版本的 fir-cli, 具体使用方式参见 Docker 运行 fir-cli 章节

最近更新

  • (2.0.22) 支持自定义下载文件名称 --user_download_file_name=具体文件名称 注意, 此参数无法与switch_to_qiniu 一起使用
  • (2.0.21) 修正 publish 的结果不返回导致 fastlane-plugin-fir_cli 命令执行结果为nil 的问题
  • (2.0.20) 新增参数 --save_uploaded_info, 可以将上传的结果存入当前目录下的 fir-cli-upload-info.json 文件中, 方便集成其他功能
  • (2.0.19) 修正了上传的图标不显示的问题
  • (2.0.18) 修复域名导致的飞书发送失败的问题
  • (2.0.17) 增加了上传百分比显示
  • (2.0.16) 更新了 thor
  • (2.0.15) 更换了 API 域名
  • (2.0.14) 第三方通知加入了 app 类型, 第三方报错将忽略异常继续运行
  • (2.0.13) 修正了企业微信通知的bug
  • (2.0.12) 修复因为钉钉机器人不再支持base64导致无法显示二维码,另外开始支持钉钉加签方式的鉴权, 参数为 --dingtalk_secret
  • (2.0.11) 兼容了 ruby 3.0
  • (2.0.10) 飞书支持了 V2 版本的机器人推送
  • (2.0.9) publish 支持了 企业微信通知 可以使用 --wxwork_access_token 或 --wxwork_webhook, 增加了回调超时时间至20秒
  • (2.0.8) publish 支持 飞书通知, 可使用 feishu_access_tokenfeishu_custom_message, 详情见 fir publish --help
  • (2.0.7) 修复了提示 token 错误的问题
  • (2.0.6) 修复了因为文件读取方式变化而导致的文件找不到不报错的问题
  • (2.0.5) 因为深信服 的黑名单误判, 将 api 切换到了备用域名
  • (2.0.4) 修复了 cdn 不支持 patch 方法透传, 导致在修改 app 信息的时候返回的 400 错误
  • (2.0.3.3) 试图打印出错的body内容
  • (2.0.3.2) 将返回下载地址转化为了绑定的域名
  • (2.0.3.1) 因为域名问题, fir-cli切换到了备用域名上. 老版本用户 运行 gem update fir-cli 即可
  • (2.0.3) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合 dingtalk_access_token 使用
  • (2.0.3) 增加 dingtalk_at_all, 钉钉通知可 at 所有人, 此命令需配合 dingtalk_access_token 使用
  • (2.0.3) 增加海外加速参数 --oversea_turbo, 需要使用该功能的小伙伴请微信联系我, 我来开通
  • (2.0.2) 有限支持 aab 文件上传, 强依赖 bundletool 工具, 具体请参见参数 --bundletool_jar_path--auto_download_bundletool_jar
  • (2.0.1) publish 支持 新参数 specify_app_display_name, 指定 app 显示名称
  • (2.0.1) publish 支持 新参数 need_ansi_qrcode, 在控制台直接打印二维码, jenkins 用户可能需要使用 AnsiColor Plugin 插件配合
  • (2.0.1) publish 支持 新参数 dingtalk_custom_message, 可以在钉钉通知里增加自定义消息, 此命令需配合 dingtalk_access_token 使用
  • (2.0.1) publish 支持 新参数 skip_fir_cli_feedback, 可禁止 fir-cli 发送统计信息
  • (1.7.4) publish 使用更快的存储商, 加速上传速度, 若感觉没以前可使用 参数 switch_to_qiniu 恢复
  • (1.7.4) 支持了在fastlane 直接调用, 具体请参见 https://github.com/FIRHQ/fastlane-plugin-fir_cli
  • (1.7.3) publish 支持 新参数 force_pin_history, 可以 将上传的版本, 固定在下载页面上(当大于最大固定版本数后, 会挤掉最老的固定版本) [2019年11月18日]
  • (1.7.3) publish 支持 新参数 specify_icon_file_path, 可以直接指定 app 的 icon 图标文件 [2019年11月18日]
  • (1.7.3) publish 支持 新参数 skip_update_icon, 可以略过更新app图标 [2019年11月18日]
  • (1.7.1) 官方支持 钉钉推送, 使用方法为 在publish 中增加 --dingtalk_access_token=xxxxxxxxxxxxxxxxxxx (或者 -D=xxxxxxx) [2019年05月06日]
  • (1.7.1) 官方支持 上传完毕后, 返回精确的版本的下载地址, 使用方案为 在 publish 后增加 --need_release_id (特定版本支持近期30个以内的任意版本. 如有更多历史版本需要回溯, 可向线上客服或者 微信 atpking 进行申请特殊处理某app, 我们会根据使用情况酌情增加) [2019年05月06日]
  • (1.7.0) 已过期 build_ipa 功能, 推荐用户使用 fastlane (fastlane gym)进行打包,生成好 ipa 文件后,再使用 fir publish 上传生成的ipa [2019年03月21日]

热门问题

啥是 钉钉 / 企业微信 / 飞书 的 access_token ?

就是回调地址中的长得最像 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 那部分

如何配合 jenkins 使用?

参见 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

在 Circle CI, Travis CI 或 Github Actions 等境外服务上, 有概率超时, 能否解决?

fir-cli 在 2.0.18 版本已经支持自动判别用户是否是海外上传, 如果是海外ip, 则上传自动进行海外加速.

[已废弃]2.0.3 版本 及其以上, 可以申请海外加速内测资格, 开启后可以使用海外加速上传 --oversea_turbo

更多细节请参考 #260

可以在 fastlane 里用么?

可以直接在命令行里调用,也可以安装 fastlane 的配套插件 fir_cli 具体请参见 https://github.com/FIRHQ/fastlane-plugin-fir_cli

日志换行有问题

可以将日志先输出成一个文本, 之后 --changelog=这个本文 即可实现changlog换行

图标解析有问题

可以在 publish 的时候使用 --specify_icon_file_path=xxx 来自己指定图标文件 或者使用 --skip_update_icon 来跳过图标文件的上传

aab 文件能否上传?

能, 但是 aab 文件手机上并不能直接安装, 需要通过桌面使用 bundletool 工具来生成对应手机的 apk 包.

fir-cli 提供对 aab 文件有限程度支持的上传与下载. 在使用 fir-cli 上传 aab 文件时, 需要满足三个条件任意一条

  1. 系统本身已经通过 brew install bundletool 等手段, 可以在命令行里直接调用 bundletool
  2. 上传时指定了 --bundletool_jar_path 参数, 参数给出了 bundletool.jar 包的地址, 且命令行可以直接调用 java 指令
  3. 能够保证 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, 则历史版本的最老版本(以上传时间为准)会被移出历史版本列表

境外上传老出现 stream closed

因为网络时延问题, 可传入环境变量 FIR_TIMEOUT=xxx 进行超时时间设置

愿意做持续集成,但技术上遇到较大阻碍

可以联系微信 atpking

文档

Docker 运行 fir-cli

准备工作

  1. 将自己需要的文件挂载到 docker 中, 之后即可直接运行
  2. 将自己的 API_TOKEN 以环境变量的形式传入container

如何运行

假设 我需要上传桌面的 1.apk

docker run -e API_TOKEN=您的token -v 您的上传文件的目录的绝对路径:/tmp firhq/fir-cli:latest publish /tmp/你的文件

# 如 `docker run -e API_TOKEN=xxxxxxxe -v /Users/atpking/Desktop:/tmp firhq/fir-cli:latest publish  /tmp/1.apk`

# 实际含义是把我的桌面挂载到 docker 里的 /tmp 目录  之后上传 docker 文件里的 /tmp/1.apk
# 也可以修改为其他目录

提交反馈

  • 联系微信 atpking, 请注明 "fir-cli 交流"

  • 使用 Github 的 Issue

特别感谢

鼓励维护

hia~ hia~ hia~

fir-cli's People

Contributors

gitter-badger avatar idy avatar jicheng1014 avatar sarah1018 avatar sparkrico avatar xuanyu-h avatar xumeng avatar yudun1989 avatar yunheli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fir-cli's Issues

gitlab-ci环境下fir build_ipa 命令长时间阻塞

fir b ${xcworkspace_path} -w -S ${scheme} -p -T ${token}
I, [2015-07-08T16:21:58.637603 #62469]  INFO -- : Building......
I, [2015-07-08T16:21:58.637639 #62469]  INFO -- : ✈ -------------------------------------------- ✈

Mac上面在shell脚本中使用有问题

I, [2015-09-17T00:41:30.250316 #22022] INFO -- : Publishing app.......
I, [2015-09-17T00:41:30.250415 #22022] INFO -- : ✈ -------------------------------------------- ✈
I, [2015-09-17T00:41:31.958848 #22022] INFO -- : Fetching [email protected] uploading info......
I, [2015-09-17T00:41:32.159018 #22022] INFO -- : Uploading app's icon......
I, [2015-09-17T00:41:32.751708 #22022] INFO -- : Uploading app......
undefined method response' for #<Errno::EPIPE: Broken pipe> /Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/lib/fir/util/http.rb:35:inrescue in block (2 levels) in module:Http'
/Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/lib/fir/util/http.rb:26:in block (2 levels) in <module:Http>' /Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/lib/fir/util/publish.rb:86:inupload_app_binary'
/Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/lib/fir/util/publish.rb:45:in upload_app' /Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/lib/fir/util/publish.rb:23:inpublish'
/Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/lib/fir/cli.rb:91:in publish' /Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:inrun'
/Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in invoke_command' /Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/lib/fir/cli.rb:156:ininvoke_command'
/Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor.rb:359:in dispatch' /Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/base.rb:440:instart'
/Users/tassar/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.2/bin/fir:8:in <top (required)>' /Users/tassar/.rbenv/versions/2.2.2/bin/fir:23:inload'
/Users/tassar/.rbenv/versions/2.2.2/bin/fir:23:in `

'

fir -q 没有生效?

fir build_ipa . -q -w -C Release -S licaishi CODE_SIGN_IDENTITY="....." -p

命令如上, . 表当前目录, -q 表示不输出, -w 表示 workspace -C 表示configuration -S 表示 scheme
-p 表示 publish

但是 -q 没有起作用? 这条命令封装的有点儿问题?

what's that problem

The following build commands failed:
    CompileC DerivedData/Jack/Build/Intermediates/Jack.build/Debug-iphoneos/Jack.build/Objects-normal/armv7/AppDelegate.o Jack/AppDelegate.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

File /var/folders/mf/89ngbb7x20q7m7ytdq8mp5080000gn/T/ipa_files-1447914541/Payload/jack.app/Info.plist not readable!
/Library/Ruby/Gems/2.0.0/gems/CFPropertyList-2.3.1/lib/cfpropertylist/rbCFPropertyList.rb:347:in `load'
/Library/Ruby/Gems/2.0.0/gems/CFPropertyList-2.3.1/lib/cfpropertylist/rbCFPropertyList.rb:252:in `initialize'

productFlavor支持

能否支持只打包上传指定的flavor的release版本?
目前看来,它只是执行了gradle build之后上传最后一个构建的apk

用 --output 参数时导出dSYM的命名不合理

用 --output 参数时导出时,ipa文件会加版本号:
app-0.0.2-Build-4.ipa

dsym文件就不会:
xxx.app.dSYM

很不好管理,一不小心,就把以前的覆盖了,郁闷的很。
希望能统一命名。

Mac上面集成fir-cli到jenkins打包APK有问题

  • 目前使用iOS没有问题
  • Android的时候,总是说gradle command找不到。
  • 如果直接到job下面的workspace使用命令会报错:
bogon:build app$ fir build_apk /Users/Shared/Jenkins/Home/jobs/AndroidTest/workspace -o /Users/Shared/Jenkins/Home/jobs/AndroidTest/workspace/apks -p -T 145805490a48a0507112943e282XXXX
I, [2015-09-15T19:15:41.891443 #3842]  INFO -- : Building......
I, [2015-09-15T19:15:41.891516 #3842]  INFO -- : ✈ -------------------------------------------- ✈
I, [2015-09-15T19:16:32.208868 #3842]  INFO -- : :app:clean

BUILD SUCCESSFUL

Total time: 6.168 secs

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.7/userguide/gradle_daemon.html
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72300Library
:app:prepareComAndroidSupportSupportV42300Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources
:app:preDexDebug
:app:dexDebug
:app:validateDebugSigning
:app:packageDebug
:app:zipalignDebug
:app:assembleDebug
:app:checkReleaseManifest
:app:prepareReleaseDependencies
:app:compileReleaseAidl
:app:compileReleaseRenderscript
:app:generateReleaseBuildConfig
:app:generateReleaseAssets UP-TO-DATE
:app:mergeReleaseAssets
:app:generateReleaseResValues UP-TO-DATE
:app:generateReleaseResources
:app:mergeReleaseResources
:app:processReleaseManifest
:app:processReleaseResources
:app:generateReleaseSources
:app:processReleaseJavaRes UP-TO-DATE
:app:compileReleaseJavaWithJavac
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:preDexRelease
:app:dexRelease
:app:packageRelease
:app:assembleRelease
:app:assemble
:app:compileLint
:app:lint
Ran lint on variant release: 1 issues found
Ran lint on variant debug: 1 issues found
Wrote HTML report to file:/Users/Shared/Jenkins/Home/jobs/AndroidTest/workspace/app/build/outputs/lint-results.html
Wrote XML report to /Users/Shared/Jenkins/Home/jobs/AndroidTest/workspace/app/build/outputs/lint-results.xml
:app:preDebugUnitTestBuild UP-TO-DATE
:app:prepareDebugUnitTestDependencies
:app:processDebugUnitTestJavaRes UP-TO-DATE
:app:compileDebugUnitTestJavaWithJavac UP-TO-DATE
:app:compileDebugUnitTestSources UP-TO-DATE
:app:mockableAndroidJar
:app:assembleDebugUnitTest
:app:testDebugUnitTest
:app:preReleaseUnitTestBuild UP-TO-DATE
:app:prepareReleaseUnitTestDependencies
:app:processReleaseUnitTestJavaRes UP-TO-DATE
:app:compileReleaseUnitTestJavaWithJavac UP-TO-DATE
:app:compileReleaseUnitTestSources UP-TO-DATE
:app:assembleReleaseUnitTest
:app:testReleaseUnitTest
:app:test
:app:check
:app:build

BUILD SUCCESSFUL

Total time: 43.066 secs

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.7/userguide/gradle_daemon.html

I, [2015-09-15T19:16:32.209228 #3842]  INFO -- : 
E, [2015-09-15T19:16:32.209394 #3842] ERROR -- : File does not exist

请问如何做一个定时任务,每天自动打包上传

本人在mac环境下。百度之后参考
http://my.oschina.net/shede333/blog/470377
写下了一个

com.may.fir.plist

Label com.may.fir.plist ProgramArguments /Users/cc/Desktop/test_shell.sh KeepAlive RunAtLoad StartInterval 10 StandardOutPath /Users/cc/Desktop/schedule.log ## test_shell.sh # !/bin/sh

LANG=en_US.UTF-8
export LANG

svn status | xargs echo
echo "out: 输出正确的中文"
fir login mytoken
fir build_ipa /Users/cc/Desktop/xcode/StartsMove -o /Users/cc/Desktop/xcode/inline
say hello world
echo "out: end"

这样的定时器,但是只打印了out: 输出正确的中文 和 end say hello 也执行了,就是没执行fir的命令行。
有同样需求的吗?大家来研究一下。

如何在 publish 时提交注释?

现在使用 Jenkins 来打包时可以拿到和上一版提交之间的 changelog,但是好像没有参数可以把这个和 app 一起提交上来,如果要写的话还得去网页上写一遍,有没有在发布时提交注释的功能呢?

window下jenkins集成fir-cli出错

环境:
windows 7中使用jenkins,调用cygwin中的sh执行shell脚本(脚本内容是调用fir.bat发布应用:/cygdrive/d/Ruby22-x64/bin/fir.bat p "$UPLOAD_FILE" -T $USER_TOKEN)
执行出错:
...D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1097:in <module:RbReadline>': HOME environment variable (or HOMEDRIVE and HOMEPATH) must be set and point to a directory (RuntimeError) from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rbreadline.rb:17:in<top (required)>'
from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire'
from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/readline.rb:10:in <module:Readline>' from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/readline.rb:8:in<top (required)>'
from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire'
from D:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/line_editor/readline.rb:2:in <top (required)>' from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire'
from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from D:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/line_editor.rb:2:in<top (required)>'
from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire'
from D:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/base.rb:8:in <top (required)>' from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire'
from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from D:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor.rb:2:in<top (required)>'
from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from D:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire'
from D:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.1/lib/fir.rb:3:in <top (required)>' from D:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.1/bin/fir:4:inrequire_relative'
from D:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/fir-cli-1.2.1/bin/fir:4:in <top (required)>' from D:/Ruby22-x64/bin/fir:23:inload'
from D:/Ruby22-x64/bin/fir:23:in `

'
...

上传会传最早的一个ipa

我用命令直接打包并上传
fir b project_path -o export_path ONLY_ACTIVE_ARCH=NO -w -C Debug -S schemeName -p -c "fix bugs"

这样每次在这个export_path会生成一个ipa,但它每次上传的都是最早的那个,而不会上传我刚build出来的这个

changelog 不支持多行文本

我们的 changelog 维护在一个独立文件里,在持续集成时会用如下方式调用 fir 来传入 changelog

#!/bin/bash

CHANGELOG=`cat $CHANGELOG_PATH` # changelog 包含多行文本

echo "Uploading to Fir"
fir p $IPA_PATH \
    -T $FIR_API_TOKEN \
    --changelog="$CHANGELOG" \
    --verbose

上传上去后发现只有 changelog 的第一行,其它行都没了

安装fir-cli失败

sudo gem install fir-cli

Building native extensions.  This could take a while...
ERROR:  Error installing fir-cli:
    ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.1.0/gems/unf_ext-0.0.7.1/ext/unf_ext
/usr/bin/ruby2.1 -r ./siteconf20151218-2595-tn0y84.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/unf_ext-0.0.7.1 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/x86_64-linux/2.1.0/unf_ext-0.0.7.1/gem_make.out

使用fir-cli上传apk,图标会变

环境:
windows 7
在jenkins中使用cygwin的sh.exe命令执行shell脚本(脚本内容是用fir-cli上传apk)

如题,图标会变成这样:
image

windows下不能提交多行日志

环境:
windows 7
cygwin

comment="test1
test2
test3"
fir.bat p application_path -T user_token -c "$comment"

只有第一行注释:test1会被提交

新Mac机 OSX 10.11 EI Capitan 按照ReadMe 安装报错

似乎需要 安装 HomeBrew,还没搞定

请完善 ReadMe 的安装步骤,以方便后来人。

Thank you for using RVM!

We sincerely hope that RVM helps to make your life easier and more enjoyable!!!

~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io

Upgrade Notes:

  • No new notes to display.

rvm 1.26.11 (latest) by Wayne E. Seguin [email protected], Michal Papis [email protected] [https://rvm.io/]
Searching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/osx/10.11/x86_64/ruby-2.2.1.tar.bz2
Checking requirements for osx.
About to install Homebrew, press Enter for default installation in /usr/local,
type new path if you wish custom Homebrew installation (the path needs to be writable for user)
: Requirements installation failed with status: 1.

无法publish或login

执行:

fir login  -T <MY-TOKEN>

提示:

E, [2015-07-01T15:36:46.039770 #11095] ERROR -- : RestClient::Unauthorized
401 Unauthorized

解析 ipa 失败

undefined methodgenerate_tmp_icon' for #FIR::Parser::Ipa::App:0x007ff68926b308`

打包远程工程

fir build是否支持编译git仓库中用gradle构建的android工程?能否指定分支和版本

上传apk icon时出现一个异常

/var/lib/gems/2.1.0/gems/fir-cli-1.1.0/lib/fir/patches/bin/pngcrush: 1: /var/lib/gems/2.1.0/gems/fir-cli-1.1.0/lib/fir/patches/bin/pngcrush: Syntax error: ")" unexpected

fir -c 不支持 \n

我在使用 mac 上传ipa包,申明的 -c 参数中带有 \n 换行符,但是上传之后,都被原样显示了

fir p $WORKSPACE/build/${BUILD_NUMBER}/${YT_PROJECT_FINAL_NAME}.ipa -T ${YT_FIR_TOKEN} -c "持续化集成 ${JOB_NAME}:${BUILD_DISPLAY_NAME}(${YT_PROJECT_FINAL_NAME})\n${YT_CHANGE_LOG}" 

持续化集成 Carmaster-iOS-Release:#15(carmaster-origin_release_v1.1.0-cf0bde93c03b0e0ede78c760588ebc01263ae497-car_master_for_test_ad_hoc)\ncf0bde9 隐藏调试使用的状态栏

在Xcode可以正常打包,但在终端用命令行打包失败。

在Xcode可以正常打包,但在终端用命令行打包失败。
我在终端中执行以下命令:
$fir build_ipa ${WORKSPACE} -o ${WORKSPACE}/TestJenkins.ipa -p -T MY_TOKEN

编译到最后报错如下:

** BUILD FAILED **

The following build commands failed:
Ld build/MyProject.build/Release-iphoneos/ZCDHPlatform.build/Objects-normal/armv7/MyProject normal armv7
(1 failure)
E, [2015-11-12T10:03:17.543515 #5998] ERROR -- : Build failed

请问为了能用命令行打包,需要在工程中作其他配置吗?

手动提交 zip 格式符号表文件报错

E, [2015-11-17T16:16:01.554504 #84714] ERROR -- : 403 Forbidden - {"errors":{"mapping":["You are not allowed to upload \"zip-fircli\" files, allowed types: txt, dSYM, zip","unzip fail"]}}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.