Jenkins凭据读取报错:类型不匹配问题求助
问题解决:Jenkins凭据类型不匹配报错
错误原因
你创建的凭据类型是Username with password(用户名+密码组合),但脚本中使用的string()方法仅适用于读取Secret text(纯文本字符串/密码)类型的凭据,两者类型不匹配导致报错。
修正后的脚本
如果只需要提取密码,使用usernamePassword()方法来读取该类型凭据,示例如下:
withCredentials([usernamePassword(credentialsId: 'pega_db_password', usernameVariable: 'DB_USER', passwordVariable: 'DB_PASS')]) { // 将密码写入节点代理文件的命令示例 sh 'echo "$DB_PASS" > /path/to/agent/password.txt' }
补充说明
usernameVariable:存储凭据中的用户名(如果不需要可保留但不调用)passwordVariable:存储凭据中的密码,直接调用该变量即可获取隐藏的密码值- 写入文件时建议给变量加双引号,避免密码包含特殊字符时出现解析问题
如果你的场景确实只需要纯字符串密码,可重新创建一个Secret text类型的凭据,再使用原脚本中的string()方法读取。
内容的提问来源于stack exchange,提问作者user5820327
相关产品推荐
相关产品推荐

