一尘不染

在Jenkins控制台输出中回显

jenkins

我正在遵循有关如何使用Jenkins签署Android
APK的准则。我已经用KSTOREPWD和KEYPWD参数化了Jenkins的工作。Jenkins的工作配置(“构建”->“执行”外壳)的一部分是获取这些参数并将其存储为环境变量:

export KSTOREPWD=${KSTOREPWD}
export KEYPWD=${KEYPWD}
...
./gradlew assembleRelease

问题是当构建结束时,任何人都可以访问构建“控制台输出”并查看输入了什么密码;该输出的一部分:

08:06:57 + export KSTOREPWD=secretStorePwd
08:06:57 + KSTOREPWD=secretStorePwd
08:06:57 + export KEYPWD=secretPwd
08:06:57 + KEYPWD=secretPwd

因此,我想在export命令输出之前抑制回声,并在export命令之后重新启用回声。


阅读 643

收藏
2020-07-25

共1个答案

一尘不染

默认情况下,Jenkins使用启动启动 Execute Shell 脚本set -x。这将导致所有命令被回显

您可以set +x在任何命令之前键入以临时替代该行为。当然,您将需要set -x重新开始显示它们。

通过将以下内容放在构建步骤的顶部,可以覆盖整个脚本的此行为:
#!/bin/bash +x

2020-07-25