【问题标题】:How To Mask Ad Hoc (non-Parameter, non-Credential) Passwords in Jenkins如何在 Jenkins 中屏蔽 Ad Hoc(非参数、非凭据)密码
【发布时间】:2018-09-27 00:33:48
【问题描述】:

作为 Jenkins 管道的一部分,我从 Ansible 获取密码,然后想在 Jenkins 触发的 shell 脚本中隐藏这些密码。

困难在于这些密码不是管道参数或 Jenkins 凭据。

我可以看到 mask passwords plugin 在 Manage Jenkins 中预定义时允许屏蔽正则表达式。我在这里要做的是定义一个正则表达式(或文字字符串)以编程方式进行屏蔽。

我想要的是这样的:

def password = getPasswordFromAnsible()
maskPassword(password)
sh "applogin -u ${username} -p ${password}"

sh 脚本应在控制台日志中生成以下内容:

sh "applogin -u my_username -p ******"

【问题讨论】:

    标签: jenkins jenkins-pipeline credentials


    【解决方案1】:

    一种选择是在运行特定敏感命令之前禁用命令回显,并使用描述性文本遵循逻辑:

    sh '''
        echo "Attempting to login"
        set +x
        applogin -u ${username} -p ${password}
        set -x 
        echo "Logged in successfully"
    '''
    

    【讨论】:

      猜你喜欢
      • 2016-02-27
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2016-01-21
      • 2021-04-18
      • 2017-10-02
      • 1970-01-01
      相关资源
      最近更新 更多