如何在Jenkins控制台输出上隐藏密码?

时间:2017-07-11 20:02:01

标签: jenkins credentials

我有一个工作由开发人员触发,他们必须在触发构建之前放置他们的AD。但是密码会显示在控制台输出上。我试过掩码密码插件。但问题是我无法将所有开发人员AD存储在作业配置中。

请建议我解决。

2 个答案:

答案 0 :(得分:0)

这是我在Jenkins documentation中遇到的答案:

  

通常,您将使用

启动脚本
set +x 
     

以便您运行的命令不会回显到日志中   提到这些命令中的秘密值。

答案 1 :(得分:0)

请在下面找到我的解决方案[不使用Mask Passwords插件]:

关于我的詹金斯工作的简要说明: 我写了一份工作,根据运行时给定的参数从Nexus下载工件,然后建立数据库SQL连接并使用maven flyway插件部署SQL脚本。我的工作需要-环境,数据库架构,工件版本号,Flyway命令,数据库用户及其密码作为输入参数。

问题的简要背景: 在将密码作为MAVEN GOAL(参数)传递时,它以纯文本形式出现在Jenkins Console中。 尽管我在运行时使用“密码参数”来传递密码,但后来它还是以纯文本形式出现在控制台中。

我尝试使用“秘密文本”对密码进行加密,但是随后我的工作开始失败,因为加密的密码已传递给无法连接到数据库的Maven Goals。

解决方案:

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

这按预期工作。我在工作时通过的密码为[*******]

  

[控制台日志:   执行Maven:-B -f /work/jenkins_data/workspace/S2/database-deployment-via-flyway-EDOS/pom.xml干净编译-Ddb = UAT_cms_core -DdatabaseSchema = cms-core -Dmode = info -DdeploymentVersion = 1.2。 9 -Ddb_user = DB_USER -Ddb_password = [*******]   ]

关于, 罗希特·拉杰波特(Rohit Rajpoot)