隐藏敏感的 ruby​​ shell 命令

ir2*_*pid 2 ruby shell fastlane

我正在使用 fastlane 和 sh 命令来解密一些凭据,但似乎 ruby​​ 在日志中打印输出。如何隐藏日志中的敏感信息?

cmd_decrypt = "openssl enc -aes-256-cbc -d -a -k \"#{ENV["MATCH_PASSWORD"]}\" -in #{enc_file} -out #{dec_file[0]}"

sh(cmd_decrypt)
Run Code Online (Sandbox Code Playgroud)

输出:

[09:38:15]: --------------------------------------------------------------------
[09:38:15]: Step: openssl enc -aes-256-cbc -d -a -k "PASSWORD_SHOWN!" -in /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/zz-out /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/xx
[09:38:15]: --------------------------------------------------------------------
[09:38:15]: $ openssl enc -aes-256-cbc -d -a -k "PASSWORD_SHOWN!" -in /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/zz -out /var/folders/7g/yy/T/d20190925-1304-1qv6cj1/vault/xx
Run Code Online (Sandbox Code Playgroud)

Lyn*_*son 5

您可以传递sh额外的参数。在这种情况下,您可以这样称呼它:

sh(cmd_decrypt, log: false)
Run Code Online (Sandbox Code Playgroud)

文档在sh这里:https : //docs.fastlane.tools/actions/sh/

您可以在此处获取其他内置操作的文档:https : //docs.fastlane.tools/actions/

以及其他插件操作的文档:https : //docs.fastlane.tools/plugins/available-plugins/