如何在Fastlane日志中隐藏/掩码处理密码明文内容?
Fastlane 密码日志掩码实现方案
方案1:使用sh动作内置敏感参数标记
Fastlane 的 sh 动作原生支持对敏感内容做掩码处理,你只需要调整密码的传递方式,将密码通过环境变量传入并开启敏感标记即可,修改后的 lane 代码如下:
lane :enter_password do password = UI.password 'Password: ' sh "echo Your password is $PASSWORD", env: { PASSWORD: password }, sensitive: true end
修改后日志中所有对应密码的位置都会自动替换为*****,不会影响命令实际执行效果。
方案2:全局注册敏感值
如果密码需要在多个命令中复用,可以直接将密码加入 Fastlane 全局敏感值列表,后续所有日志中出现该密码的位置都会被自动掩码:
lane :enter_password do password = UI.password 'Password: ' # 全局注册敏感值 Fastlane::Helper::SensitiveValues.add(password: password) # 后续直接正常使用密码即可,日志会自动掩码 sh "echo Your password is #{password}" end
该方案无需调整原有命令的写法,适配性更高。
内容的提问来源于stack exchange,提问作者Erik B
相关产品推荐
相关产品推荐

