我正在尝试利用 Jenkins 凭证插件来存储我想注入到我的 Kubernetes 集群中的 Secrets 中的敏感数据。我有一个 JenkinsFile ,它在我的项目中用于定义步骤,并且我添加了以下代码以从凭证中提取用户名/密码并传递给 shell 脚本以将文件中的占位符替换为实际文件:
stages {
stage('Build') {
steps {
withCredentials([usernamePassword(credentialsId: 'creds-test', passwordVariable: 'PASSWORD', usernameVariable: 'USERNAME')]) {
sh '''
echo $USERNAME
echo $PASSWORD
chmod +x secrets-replace.sh
./secrets-replace.sh USERNAME_PLACEHOLDER $USERNAME
./secrets-replace.sh PASSWORD_PLACEHOLDER $PASSWORD
'''
}
echo 'Building...'
sh './gradlew build --refresh-dependencies'
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
然而,每当它运行时,我得到的只是被屏蔽的 **** 值,即使我将它传递给 shell 脚本也是如此。这是构建日志的一部分:
我需要配置什么才能访问未屏蔽的值吗?