Jenkins:如何从凭证管理器将用户名设为环境变量名存储密码
Jenkins 自定义凭证环境变量名实现方案
要实现将Jenkins凭证的用户名作为环境变量名、密码作为对应值的需求,你可以通过script块手动解析凭证对象,动态设置环境变量,具体脚本如下:
方案一:先在environment块获取凭证,再动态赋值
pipeline { agent any environment { // 加载凭证,生成包含USR和PSW后缀的临时变量 MY_CRED = credentials('MY_CREDENTIALS') } stages { stage('Configure Custom Env') { steps { script { // 把用户名作为环境变量名,密码作为对应值 env["${MY_CRED_USR}"] = "${MY_CRED_PSW}" } // 验证效果:替换为你实际的用户名,比如你的凭证用户名是MYUSERNAME,就执行下面的命令 sh 'echo $MYUSERNAME' } } } }
方案二:直接在script块中获取并处理凭证
pipeline { agent any stages { stage('Set Custom Env Var') { steps { script { // 直接获取凭证对象,包含username和password属性 def creds = credentials('MY_CREDENTIALS') // 动态创建环境变量 env["${creds.username}"] = "${creds.password}" } // 验证变量是否生效 sh 'echo $MYUSERNAME' } } } }
执行后,你就能通过$[凭证用户名]的形式直接调用对应的密码值,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者pasupati
相关产品推荐
相关产品推荐

