Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在jenkins shell输出中隐藏密码_Linux_Bash_Shell_Jenkins - Fatal编程技术网

Linux 如何在jenkins shell输出中隐藏密码

Linux 如何在jenkins shell输出中隐藏密码,linux,bash,shell,jenkins,Linux,Bash,Shell,Jenkins,我有两个脚本,第一个是文件系统,第二个是jenkins的工作。 第二个脚本调用第一个脚本并将参数传递给它。 参数包含密码参数。 如何将密码隐藏到日志中? 我已尝试使用exec命令隐藏输出,但问题未得到解决。仅此而已。请在下面找到我的结果,并提供解决方案[不使用掩码密码插件]: 我的詹金斯工作简介: 我写了一个作业,它根据运行时给定的参数从Nexus下载工件,然后建立数据库SQL连接,并使用maven flyway插件部署SQL脚本。我的工作将环境、数据库模式、工件版本号、Flyway命令、数据库

我有两个脚本,第一个是文件系统,第二个是jenkins的工作。 第二个脚本调用第一个脚本并将参数传递给它。 参数包含密码参数。 如何将密码隐藏到日志中?
我已尝试使用exec命令隐藏输出,但问题未得到解决。

仅此而已。

请在下面找到我的结果,并提供解决方案[不使用掩码密码插件]:

我的詹金斯工作简介: 我写了一个作业,它根据运行时给定的参数从Nexus下载工件,然后建立数据库SQL连接,并使用maven flyway插件部署SQL脚本。我的工作将环境、数据库模式、工件版本号、Flyway命令、数据库用户及其密码作为输入参数

问题的简要背景: 当将密码作为MAVEN目标(参数)传递时,它以纯文本形式出现在Jenkins控制台中。 虽然我在运行时使用“Password参数”来传递密码,但在控制台中它也是以纯文本的形式出现的

我试图使用“密文”加密密码,但后来我的工作开始失败,因为加密的密码被传递给Maven Goals,而Maven Goals无法连接到DB

解决方案:

我使用构建环境中的“将密码作为环境变量注入到构建中”,并将其值定义为我的“密码参数”(我的密码参数名为db\u password),我在运行时将其作为参数传递(例如:我将我的注入密码值定义为:${db\u password})

这是工作的预期。运行作业时传递的密码为[********]

[控制台日志: 执行Maven:-B-f/work/jenkins_data/workspace/S2/通过flyway EDOS/pom.xml干净编译进行数据库部署-Ddb=UAT_cms_core-DdatabaseSchema=cms core-Dmode=info-DdeploymentVersion=1.2.9-Ddb_user=DB_user-Ddb_password=[*****] ]


您可以使用
echo“passwd string”| base64
base64--decode来代替纯文本,我可以使用base64,但这不是一个好主意。如果没有jenkins,脚本将无法使用,因为用户传递的没有编码的密码总是不正确的,用户必须知道不必要的信息。谢谢。您的解决方案很有帮助。Mask Passwords插件只允许将预设密码传递到构建过程中,因此它实际上对作业的安全性没有任何作用。我需要一个密码参数,需要在每次运行作业时输入(作为参数),并且需要在控制台输出中屏蔽该参数。从我所阅读的内容来看,管理Jenkins->配置系统并选择屏蔽密码参数应该是可行的,但由于某些原因,它不是。。有什么建议吗?@IanTait评论不是这个问题的正确位置-请就此问题发布另一个问题。你需要知道,即使使用此插件,如果你是jenkins管理员,你也可以取消屏蔽并在日志中查看密码。@BMW你无法对实际的服务器管理员隐藏密码。