在Jenkinsfile中隐藏密码

gcuhipw9  于 2023-06-21  发布在  Jenkins
关注(0)|答案(1)|浏览(120)

我的Jenkinsfile(声明式管道)内容如下,

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                git url: 'git@github.com:org/repository.git'
            }
        }
        
        stage('Script') {
            steps {
                sh 'script.sh' 
            }
        }
    }

在我的script.sh中,我有以下格式的usernamepassword

#!/bin/bash

USERNAME="user"
PASSWD="mypassword-here"

通过Declarative pipeline(Jenkinsfile),我试图隐藏我的script.sh文件中的密码。
在我的jenkins Global credentials page中,已经创建了kind为Username with password,然后更新了我的script.sh,如下所示

#!/bin/bash

USERNAME="user"
PASSWD="$MY_CREDS_PSW"

但它不起作用。我可以知道如何在脚本中添加创建为Kind-ID的jenkins Global credentials来隐藏密码吗?

1sbrub3j

1sbrub3j1#

您可以使用withCredentials块。以下是Jenkinsfile的更新版本:

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                git url: 'git@github.com:org/repository.git'
            }
        }

        stage('Script') {
            steps {
                withCredentials([usernamePassword(credentialsId: 'YOUR_CREDENTIALS_SpeciifcID', passwordVariable: 'PASSWORDD', usernameVariable: 'USERNAME')]) {
                    sh 'script.sh'
                }
            }
        }
    }
}

在上面的代码中,将'YOUR_CREDENTIALS_SpecificId'替换为您创建的Jenkins Global凭据的实际ID。withCredentials块允许您将Jenkins Global凭证中的用户名和密码注入sh步骤范围内的环境变量USERNAME和PASSWORD中。
在您的www.example.com中script.sh,您货车添加用户名密码

相关问题