Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
如何在Jenkins控制台输出上隐藏密码?_Jenkins_Credentials - Fatal编程技术网

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

如何在Jenkins控制台输出上隐藏密码?,jenkins,credentials,Jenkins,Credentials,我的工作是由开发者触发,他们必须在触发构建之前发布广告。但这些密码显示在控制台输出上。我试过屏蔽密码插件。但问题是我无法在作业配置中存储所有开发人员广告 请向我推荐任何解决方案。以下是我刚刚在 通常,您将以 set +x 以便您运行的命令不会回显到日志中,以防 在这些命令中提及机密的值 请使用解决方案[不使用掩码密码插件]查找以下我的发现: 我的詹金斯工作简介: 我写了一个作业,它根据运行时给定的参数从Nexus下载工件,然后建立数据库SQL连接,并使用maven flyway插件部署SQL

我的工作是由开发者触发,他们必须在触发构建之前发布广告。但这些密码显示在控制台输出上。我试过屏蔽密码插件。但问题是我无法在作业配置中存储所有开发人员广告


请向我推荐任何解决方案。

以下是我刚刚在

通常,您将以

set +x 
以便您运行的命令不会回显到日志中,以防 在这些命令中提及机密的值


请使用解决方案[不使用掩码密码插件]查找以下我的发现:

我的詹金斯工作简介: 我写了一个作业,它根据运行时给定的参数从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=[*****] ]

问候,,
罗希特·拉普特

我不确定我是否理解这个问题。你所说的在触发构建之前必须放上他们的广告到底是什么意思?您是否使用作业参数?您使用凭证系统吗?密码是其他命令的输入吗?他们将其AD作为密码参数来触发部署作业。按AD,您指的是Active Directory吗?换句话说,他们需要为部署步骤指定自己的Active Directory凭据。我当然明白你为什么要掩饰这一点!我正在使用maven,在应用程序pom.xml中提供我的凭证