fir-cli 2.0.3.alpha → 2.0.3.beta
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -2
- data/fir-cli.gemspec +3 -9
- data/lib/fir/cli.rb +2 -0
- data/lib/fir/util/publish.rb +22 -6
- data/lib/fir/version.rb +1 -1
- metadata +25 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36634b61af92921d7eb88d6f7e6a1673c976007a2a1d391515d1cb3de34a2365
|
4
|
+
data.tar.gz: 610babac6a88c166a99d802eb157b7c0162c2a989af17d733e5ef1821b453a76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: efe557c5b8026643f21050914963e9a732732d13b9247260d7e74f4cf53ba6a9e38871d7248aaba29c50015b3998bb7013d9b5a8b62aa737c531cb6df2b89d42
|
7
|
+
data.tar.gz: 364b26b9464b9757b2034718a7672ecef9c349b98b1394e1186c14d192987d103d9308e71fce3a2072c94b2f542bf1e15eb62d4bd420dbc278c564e7ffe008b1
|
data/README.md
CHANGED
@@ -14,7 +14,9 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用.
|
|
14
14
|
|
15
15
|
|
16
16
|
# 最近更新
|
17
|
-
- (2.0.3.
|
17
|
+
- (2.0.3.beta) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合 `dingtalk_access_token` 使用
|
18
|
+
- (2.0.3.beta) 增加 dingtalk_at_all, 钉钉通知可 at 所有人, 此命令需配合 `dingtalk_access_token` 使用
|
19
|
+
- (2.0.3.alpha) 增加海外加速参数 --oversea_turbo, 需要使用该功能的小伙伴请微信联系我, 我来开通
|
18
20
|
- (2.0.2) 有限支持 aab 文件上传, 强依赖 `bundletool` 工具, 具体请参见参数 `--bundletool_jar_path` 和 `--auto_download_bundletool_jar`
|
19
21
|
- (2.0.1) publish 支持 新参数 `specify_app_display_name`, 指定 app 显示名称
|
20
22
|
- (2.0.1) publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins 用户可能需要使用 `AnsiColor Plugin` 插件配合
|
@@ -35,9 +37,14 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用.
|
|
35
37
|
|
36
38
|
### 在 Circle CI, Travis CI 或 Github Actions 等境外服务上, 有概率超时, 能否解决?
|
37
39
|
|
40
|
+
2.0.3 版本 及其以上, 可以申请海外加速内测资格, 开启后可以使用海外加速上传
|
41
|
+
|
42
|
+
|
38
43
|
由于监管要求, 我们必须将服务于存储放置在境内. 由于众所周知的原因, 国内外连通性的表现不太好, 虽然我们的存储服务商 阿里云 提供了 OSS 境外加速服务, 但是高达 1.25 元/GB 的传输成本确实我们也没办法负担.
|
39
44
|
|
40
|
-
|
45
|
+
|
46
|
+
|
47
|
+
目前我们提供三种临时解决方案来缓解问题(2.0.2以下版本):
|
41
48
|
|
42
49
|
1. 设置较长的超时时间 如 `FIR_TIMEOUT=300 fir publish xxxx`, 则可将超时时间设置为 300 秒.
|
43
50
|
2. 如果fir-cli 版本 >= 2.0.0, 也可在出现超时后, 使用 `--switch-to-qiniu` 来切换到我们的另外一条存储线路. 如 `fir publish xxxx.apk --switch-to-qiniu`, 多一条线路备选.
|
data/fir-cli.gemspec
CHANGED
@@ -27,6 +27,8 @@ Gem::Specification.new do |spec|
|
|
27
27
|
/_/ /___/_/ |_| \____/_____/___/
|
28
28
|
|
29
29
|
## 更新记录
|
30
|
+
- (2.0.3.beta) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合 `dingtalk_access_token` 使用
|
31
|
+
- (2.0.3.beta) 增加 dingtalk_at_all, 钉钉通知可 at 所有人, 此命令需配合 `dingtalk_access_token` 使用
|
30
32
|
- (2.0.3.alpha) publish 增加海外加速参数 --oversea_turbo
|
31
33
|
- (2.0.2) 有限支持 aab 文件上传, 强依赖`bundletool`工具, 具体请参见参数 `--bundletool_jar_path` 和 `auto_download_bundletool_jar`
|
32
34
|
- (2.0.1) publish 支持 新参数 `specify_app_display_name`, 指定 app 显示名称
|
@@ -34,21 +36,13 @@ Gem::Specification.new do |spec|
|
|
34
36
|
- (2.0.1) publish 支持 新参数 `dingtalk_custom_message`, 可以在钉钉通知里增加自定义消息, 此命令需配合 `dingtalk_access_token` 使用
|
35
37
|
- (2.0.1) publish 支持 新参数 `skip_fir_cli_feedback`, 可禁止 fir-cli 发送统计信息
|
36
38
|
- (2.0.0) publish 使用更快的存储商, 加速上传速度, 若感觉没以前可使用 switch_to_qiniu 恢复
|
37
|
-
- (1.7.4) 配合 fastlane-plugin-fir_cli 做了一些小优化
|
38
|
-
- (1.7.3) 新增了 上传指定图标, 不上传图标 以及 将版本固定显示在下载页上
|
39
|
-
- (1.7.2) 修正了无论是否加参数都固定出现二维码图片的bug
|
40
|
-
- (1.7.1) 增加了 钉钉推送 , 增加了返回指定版本下载地址
|
41
|
-
- (1.7.0) 过期了ipa_build 功能, 增加了对 android manifest instant run 的兼容
|
42
|
-
- (1.6.13) 上传图标逻辑修改
|
43
|
-
- (1.6.12) 修复了部分机器没有默认安装 byebug 的问题
|
44
|
-
- (1.6.11) 变化了 ruby gem 仓库地址
|
45
39
|
- [fir-cli](https://github.com/firhq/fir-cli) 已经开源
|
46
40
|
- 欢迎 fork, issue 和 pull request
|
47
41
|
)
|
48
42
|
|
49
43
|
spec.add_development_dependency 'bundler'
|
50
44
|
spec.add_development_dependency 'rake'
|
51
|
-
|
45
|
+
spec.add_development_dependency 'byebug'
|
52
46
|
spec.add_development_dependency 'minitest', '~> 5.7'
|
53
47
|
spec.add_development_dependency 'pry', '~> 0.10'
|
54
48
|
|
data/lib/fir/cli.rb
CHANGED
@@ -124,6 +124,8 @@ module FIR
|
|
124
124
|
method_option :mappingfile, type: :string, aliases: '-m', desc: 'App mapping file'
|
125
125
|
method_option :dingtalk_access_token, type: :string, aliases: '-D', desc: 'Send msg to dingtalk, only need access_token, not whole url'
|
126
126
|
method_option :dingtalk_custom_message, type: :string, desc: 'add custom message to dingtalk'
|
127
|
+
method_option :dingtalk_at_phones, type: :string, desc: 'at some phones, split by , eg: 13111111111,13111111112'
|
128
|
+
method_option :dingtalk_at_all, type: :boolean, default: false
|
127
129
|
|
128
130
|
method_option :open, type: :boolean, desc: 'true/false if open for everyone'
|
129
131
|
method_option :password, type: :string, desc: 'Set password for app'
|
data/lib/fir/util/publish.rb
CHANGED
@@ -90,6 +90,7 @@ module FIR
|
|
90
90
|
|
91
91
|
def upload_fir_cli_usage_info(received_app_info)
|
92
92
|
return if @options[:skip_fir_cli_feedback]
|
93
|
+
|
93
94
|
short = received_app_info[:short]
|
94
95
|
AdmqrKnife.visit(
|
95
96
|
unique_code: 'fir_cli_publish',
|
@@ -153,13 +154,14 @@ module FIR
|
|
153
154
|
qrcode_path = "#{File.dirname(@file_path)}/fir-#{@app_info[:name]}.png"
|
154
155
|
FIR.generate_rqrcode(download_url, qrcode_path)
|
155
156
|
|
156
|
-
|
157
157
|
# NOTE: showing with default options specified explicitly
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
158
|
+
if @options[:need_ansi_qrcode]
|
159
|
+
puts RQRCode::QRCode.new(download_url).as_ansi(
|
160
|
+
light: "\033[47m", dark: "\033[40m",
|
161
|
+
fill_character: ' ',
|
162
|
+
quiet_zone_size: 1
|
163
|
+
)
|
164
|
+
end
|
163
165
|
|
164
166
|
# 为何在这里必须生成 QrCode ? 因为要在 dingtalk 调用
|
165
167
|
logger.info "Local qrcode file: #{qrcode_path}" if @export_qrcode
|
@@ -190,8 +192,10 @@ module FIR
|
|
190
192
|
"markdown": {
|
191
193
|
"title": "#{title} uploaded",
|
192
194
|
"text": "#{title} uploaded at #{Time.now}\nurl: #{download_url}\n#{options[:dingtalk_custom_message]}\n![app二维码](data:image/png;base64,#{Base64.strict_encode64(File.read(open(qrcode_path)))})"
|
195
|
+
# "text": "#{title} uploaded at #{Time.now}\nurl: #{download_url}\n#{options[:dingtalk_custom_message]}\n"
|
193
196
|
}
|
194
197
|
}
|
198
|
+
build_dingtalk_at_info(payload)
|
195
199
|
url = "https://oapi.dingtalk.com/robot/send?access_token=#{options[:dingtalk_access_token]}"
|
196
200
|
|
197
201
|
# 用完了二维码, 就删了
|
@@ -236,5 +240,17 @@ module FIR
|
|
236
240
|
check_token_cannot_be_blank(@token)
|
237
241
|
fetch_user_info(@token)
|
238
242
|
end
|
243
|
+
|
244
|
+
def build_dingtalk_at_info(payload)
|
245
|
+
answer = {}
|
246
|
+
answer[:isAtAll] = options[:dingtalk_at_all]
|
247
|
+
|
248
|
+
unless options[:dingtalk_at_phones].blank?
|
249
|
+
answer[:atMobiles] = options[:dingtalk_at_phones].split(',')
|
250
|
+
payload[:markdown][:text] += options[:dingtalk_at_phones].split(',').map { |x| "@#{x}" }.join(',')
|
251
|
+
end
|
252
|
+
|
253
|
+
payload[:at] = answer
|
254
|
+
end
|
239
255
|
end
|
240
256
|
end
|
data/lib/fir/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fir-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.3.
|
4
|
+
version: 2.0.3.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NaixSpirit
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -39,6 +39,20 @@ dependencies:
|
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: byebug
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: minitest
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -254,18 +268,16 @@ metadata: {}
|
|
254
268
|
post_install_message: "\n ______________ ________ ____\n /
|
255
269
|
____/ _/ __ \\ / ____/ / / _/\n / /_ / // /_/ /_____/ / / / /
|
256
270
|
/\n / __/ _/ // _, _/_____/ /___/ /____/ /\n /_/ /___/_/ |_| \\____/_____/___/\n\n
|
257
|
-
\ ## 更新记录\n - (2.0.3.
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
271
|
+
\ ## 更新记录\n - (2.0.3.beta) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合
|
272
|
+
`dingtalk_access_token` 使用\n - (2.0.3.beta) 增加 dingtalk_at_all, 钉钉通知可 at 所有人, 此命令需配合
|
273
|
+
`dingtalk_access_token` 使用\n - (2.0.3.alpha) publish 增加海外加速参数 --oversea_turbo\n
|
274
|
+
\ - (2.0.2) 有限支持 aab 文件上传, 强依赖`bundletool`工具, 具体请参见参数 `--bundletool_jar_path` 和
|
275
|
+
`auto_download_bundletool_jar`\n - (2.0.1) publish 支持 新参数 `specify_app_display_name`,
|
276
|
+
指定 app 显示名称\n - (2.0.1) publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins
|
277
|
+
用户可能需要使用 `AnsiColor Plugin` 插件配合\n - (2.0.1) publish 支持 新参数 `dingtalk_custom_message`,
|
278
|
+
可以在钉钉通知里增加自定义消息, 此命令需配合 `dingtalk_access_token` 使用\n - (2.0.1) publish 支持 新参数 `skip_fir_cli_feedback`,
|
263
279
|
可禁止 fir-cli 发送统计信息\n - (2.0.0) publish 使用更快的存储商, 加速上传速度, 若感觉没以前可使用 switch_to_qiniu
|
264
|
-
恢复\n - (
|
265
|
-
以及 将版本固定显示在下载页上\n - (1.7.2) 修正了无论是否加参数都固定出现二维码图片的bug\n - (1.7.1) 增加了 钉钉推送 , 增加了返回指定版本下载地址\n
|
266
|
-
\ - (1.7.0) 过期了ipa_build 功能, 增加了对 android manifest instant run 的兼容\n - (1.6.13)
|
267
|
-
上传图标逻辑修改\n - (1.6.12) 修复了部分机器没有默认安装 byebug 的问题\n - (1.6.11) 变化了 ruby gem 仓库地址\n
|
268
|
-
\ - [fir-cli](https://github.com/firhq/fir-cli) 已经开源\n - 欢迎 fork, issue 和 pull
|
280
|
+
恢复\n - [fir-cli](https://github.com/firhq/fir-cli) 已经开源\n - 欢迎 fork, issue 和 pull
|
269
281
|
request\n "
|
270
282
|
rdoc_options: []
|
271
283
|
require_paths:
|