tryzealot / fastlane-plugin-zealot

上传移动应用(iPhone、Android)到 Zealot 自建 App 分发系统 | fastlane-plugin-zealot provides upload app, debug_file and version check actions to zealot
https://zealot.ews.im/docs/developer-guide/fastlane
MIT License
9 stars 1 forks source link

上传aab文件报错:no implicit conversion of nil into String #9

Closed rkonfj closed 2 years ago

rkonfj commented 2 years ago
no implicit conversion of nil into String
icyleaf commented 2 years ago

方便把 aab 文件发到 https://cowtransfer.com/https://wetransfer.com/ 这类临时上传的服务上面吗,aab 的解析测试的没有那么全面,需要根据具体情况分析,谢谢

rkonfj commented 2 years ago

方便把 aab 文件发到 https://cowtransfer.com/https://wetransfer.com/ 这类临时上传的服务上面吗,aab 的解析测试的没有那么全面,需要根据具体情况分析,谢谢

先说一句抱歉了~

公司的应用,不敢随便上传。 报告一下这个问题,随时解决都可以。

icyleaf commented 2 years ago

没关系,那能提供其他更详细报错 trace 吗,你可以试试在执行 fastlane 的时候追加 --verbose 参数

rkonfj commented 2 years ago
INFO [2022-06-24 02:27:17.10]: --------------------
INFO [2022-06-24 02:27:17.10]: --- Step: zealot ---
INFO [2022-06-24 02:27:17.10]: --------------------
WARN [2022-06-24 02:27:17.10]: To not be asked about this value, you can specify it using 'channel_key'
 [2022-06-24 02:27:17.10]: The key of app's channel: 4598f418d120e179f69c069bb706de52
WARN [2022-06-24 02:28:39.44]: Lane Context:
INFO [2022-06-24 02:28:39.45]: {:DEFAULT_PLATFORM=>:android, :PLATFORM_NAME=>:android, :LANE_NAME=>"android aab_zealot", :GRADLE_BUILD_TYPE=>"Release", :GRADLE_ALL_APK_OUTPUT_PATHS=>[], :GRADLE_ALL_AAB_OUTPUT_PATHS=>["/home/gitlab-runner/......./release/1.10.2-V65-canary-1656051873015-release.aab"], :GRADLE_ALL_OUTPUT_JSON_OUTPUT_PATHS=>[], :GRADLE_ALL_MAPPING_TXT_OUTPUT_PATHS=>[], :GRADLE_AAB_OUTPUT_PATH=>"/home/gitlab-runner/....../release/1.10.2-V65-canary-1656051873015-release.aab"}
ERROR [2022-06-24 02:28:39.45]: no implicit conversion of nil into String
INFO [2022-06-24 02:28:39.45]: Successfully generated documentation at path '/home/gitlab-runner/....../fastlane/README.md'

+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
| 2    | bundleRelease    | 165         |
| 💥   | zealot           | 82          |
+------+------------------+-------------+

DEBUG [2022-06-24 02:28:39.46]: All plugins are up to date
ERROR [2022-06-24 02:28:39.46]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...
Search query: no implicit conversion of nil into String

URL: https://api.github.com/search/issues?q=no%20implicit%20conversion%20of%20nil%20into%20String+repo:fastlane/fastlane
➡️  Collision between `trainer` inside Fastlane and `trainer` gem
    https://github.com/fastlane/fastlane/issues/19834 [closed] 5 💬
    5 weeks ago

➡️  Deliverfile api_key: connect_api/token.rb:62:in `binread': [!] no implicit conversion of nil into String
    https://github.com/fastlane/fastlane/issues/19348 [closed] 2 💬
    30 Dec 2021

➡️  Remove XCPretty dependency and add xcbeautify as an option
    https://github.com/fastlane/fastlane/pull/19629 [closed] 30 💬
    23 Mar 2022

and 92 more at: https://github.com/fastlane/fastlane/search?q=no%20implicit%20conversion%20of%20nil%20into%20String&type=Issues&utf8=✓

DEBUG [2022-06-24 02:28:40.65]: All plugins are up to date
Traceback (most recent call last):
        32: from /usr/local/bin/fastlane:23:in `<main>'
        31: from /usr/local/bin/fastlane:23:in `load'
        30: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/bin/fastlane:23:in `<top (required)>'
        29: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
        28: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/commands_generator.rb:43:in `start'
        27: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/commands_generator.rb:354:in `run'
        26: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!'
        25: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!'
        24: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command'
        23: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in `run'
        22: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in `call'
        21: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run'
        20: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
        19: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
        18: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:45:in `execute'
        17: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:45:in `chdir'
        16: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
        15: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/lane.rb:33:in `call'
        14: from Fastfile:37:in `block (2 levels) in parsing_binding'
        13: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
        12: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
        11: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
        10: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:229:in `chdir'
         9: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
         8: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action'
         7: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
         6: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/actions/zealot_action.rb:24:in `run'
         5: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/helper/zealot_helper.rb:43:in `upload_app'
         4: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/helper/zealot_helper.rb:67:in `upload_app_params'
         3: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/helper/zealot_helper.rb:67:in `new'
         2: from /var/lib/gems/2.7.0/gems/multipart-post-2.0.0/lib/composite_io.rb:85:in `initialize'
         1: from /var/lib/gems/2.7.0/gems/multipart-post-2.0.0/lib/composite_io.rb:85:in `open'
/var/lib/gems/2.7.0/gems/multipart-post-2.0.0/lib/composite_io.rb:85:in `initialize': no implicit conversion of nil into String (TypeError)
        32: from /usr/local/bin/fastlane:23:in `<main>'
        31: from /usr/local/bin/fastlane:23:in `load'
        30: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/bin/fastlane:23:in `<top (required)>'
        29: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
        28: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/commands_generator.rb:43:in `start'
        27: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/commands_generator.rb:354:in `run'
        26: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!'
        25: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!'
        24: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command'
        23: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in `run'
        22: from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in `call'
        21: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run'
        20: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
        19: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
        18: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:45:in `execute'
        17: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:45:in `chdir'
        16: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
        15: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/lane.rb:33:in `call'
        14: from Fastfile:37:in `block (2 levels) in parsing_binding'
        13: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
        12: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
        11: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
        10: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:229:in `chdir'
         9: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
         8: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action'
         7: from /var/lib/gems/2.7.0/gems/fastlane-2.206.2/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
         6: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/actions/zealot_action.rb:24:in `run'
         5: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/helper/zealot_helper.rb:43:in `upload_app'
         4: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/helper/zealot_helper.rb:67:in `upload_app_params'
         3: from /var/lib/gems/2.7.0/gems/fastlane-plugin-zealot-0.8.0/lib/fastlane/plugin/zealot/helper/zealot_helper.rb:67:in `new'
         2: from /var/lib/gems/2.7.0/gems/multipart-post-2.0.0/lib/composite_io.rb:85:in `initialize'
         1: from /var/lib/gems/2.7.0/gems/multipart-post-2.0.0/lib/composite_io.rb:85:in `open'
/var/lib/gems/2.7.0/gems/multipart-post-2.0.0/lib/composite_io.rb:85:in `initialize': \e[31m[!] no implicit conversion of nil into String\e[0m (TypeError)
icyleaf commented 2 years ago

报错的地方从代码 看提示传的 aab 文件不存在,zealot 在调用会有传参和实际上传的时候判断文件是否存在。

有可能是在 CI 跑的时候干了什么它被删除或移动了呢?

rkonfj commented 2 years ago

报错的地方从代码 看提示传的 aab 文件不存在,zealot 在调用会有传参和实际上传的时候判断文件是否存在。

有可能是在 CI 跑的时候干了什么它被删除或移动了呢?

我手动指定了一个一定存在的aab文件,如下:

lane :aab_zealot do
  zealot(
    endpoint: 'https://myzealotdomain',
    token: '992727f4321ec729adf21805e2ba7e08',
    channel_key: '4598f418d120e179f69c069bb706de52',
    file: '/home/gitlab-runner/.../release/1.10.2-V65-canary-1656064468850-release.aab'
  )
end

这次 fastlane 似乎成功了,不过还是有不期望的错误,也没有实际上传成功。运行日志如下:

INFO [2022-06-27 03:43:32.77]: --------------------
INFO [2022-06-27 03:43:32.78]: --- Step: zealot ---
INFO [2022-06-27 03:43:32.78]: --------------------
+-------------+--------------------------------------------------------------------------------------------------------------------+
|                                                     Summary for zealot 0.8.0                                                     |
+-------------+--------------------------------------------------------------------------------------------------------------------+
| channel_key | 4598f418d120e179f69c069bb706de52                                                                                   |
| file        | /home/gitlab-runner/.../release/1.10.2-V65-canary-1656064468850-release.aab                                        |
| source      | fastlane                                                                                                           |
+-------------+--------------------------------------------------------------------------------------------------------------------+
INFO [2022-06-27 03:43:32.78]: Uploading to https://myzealotdomain ...
DEBUG [2022-06-27 03:43:36.46]: <!DOCTYPE html>
<html>
<head>
  <title>抱歉,服务访问异常 (500)</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <style>
  body {
    background-color: #EFEFEF;
    color: #2E2F30;
    text-align: center;
    font-family: arial, sans-serif;
    margin: 0;
  }

  div.dialog {
    width: 95%;
    max-width: 33em;
    margin: 4em auto 0;
  }

  div.dialog > div {
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #BBB;
    border-top: #B00100 solid 4px;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    background-color: white;
    padding: 7px 12% 0;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }

  h1 {
    font-size: 100%;
    color: #730E15;
    line-height: 1.5em;
  }

  div.dialog > p {
    margin: 0 0 1em;
    padding: 1em;
    background-color: #F7F7F7;
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #999;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-top-color: #DADADA;
    color: #666;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }
  </style>
</head>

<body>
  <!-- This file lives in public/500.html -->
  <div class="dialog">
    <div>
      <h1>非常抱歉,服务当前遇到一些技术问题造成访问异常。</h1>
    </div>
  </div>
</body>
</html>

ERROR [2022-06-27 03:43:36.46]: Error uploading to Zealot [200]: <!DOCTYPE html>
<html>
<head>
  <title>抱歉,服务访问异常 (500)</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <style>
  body {
    background-color: #EFEFEF;
    color: #2E2F30;
    text-align: center;
    font-family: arial, sans-serif;
    margin: 0;
  }

  div.dialog {
    width: 95%;
    max-width: 33em;
    margin: 4em auto 0;
  }

  div.dialog > div {
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #BBB;
    border-top: #B00100 solid 4px;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    background-color: white;
    padding: 7px 12% 0;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }

  h1 {
    font-size: 100%;
    color: #730E15;
    line-height: 1.5em;
  }

  div.dialog > p {
    margin: 0 0 1em;
    padding: 1em;
    background-color: #F7F7F7;
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #999;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-top-color: #DADADA;
    color: #666;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }
  </style>
</head>

<body>
  <!-- This file lives in public/500.html -->
  <div class="dialog">
    <div>
      <h1>非常抱歉,服务当前遇到一些技术问题造成访问异常。</h1>
    </div>
  </div>
</body>
</html>

INFO [2022-06-27 03:43:36.46]: Successfully generated documentation at path '/home/gitlab-runner/.../fastlane/README.md'

+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
| 2    | zealot           | 3           |
+------+------------------+-------------+

DEBUG [2022-06-27 03:43:36.47]: All plugins are up to date
INFO [2022-06-27 03:43:36.47]: fastlane.tools finished successfully 🎉
DEBUG [2022-06-27 03:43:36.47]: All plugins are up to date

Zealot服务端日志:

method=POST path=/api/apps/upload format=*/* controller=Api::Apps::UploadController action=create status=500 duration=1388.32 view=1.24 db=4.01 time=2022-06-27 15:43:36 +0800 ip=172.31.0.1 token=992727f4321ec729adf21805e2ba7e08 channel_key=4598f418d120e179f69c069bb706de52
icyleaf commented 2 years ago

尴尬了,匿名错误并没有上报上去,只知道是上次时报错了不知道具体啥问题 🤣

icyleaf commented 2 years ago

找了几个不同的 aab 做了一些测试尝试修复了一些明显问题: https://github.com/tryzealot/zealot/commit/87e70e682598f6b2de59bbc19e123075d95a0045 https://github.com/tryzealot/zealot/commit/1df5d3b09e03c249e510368daeb467c77b2037e1 可以等 https://github.com/tryzealot/zealot/actions/runs/2568652168 跑完了重新拉取 nightly 部署再试试

icyleaf commented 2 years ago

后续自测没有发现问题,暂时先关闭了