[英]Azure.Security.KeyVault.Secrets: az is not recognized as an internal or external command
[英]Helm | Jenkins Azure keyvault secrets are passing as masked(********),So it's throwing no value exception in helm command
我正在尝试使用掌舵图将 java 微服务部署到 azure kubernetes,我的应用程序几乎没有像 DB 用户名和密码这样的秘密。 我将我的秘密存储在 azure keyvault 中。 使用 Azure Key Vault 插件和服务主体,我正在尝试获取机密。 插件中的测试连接成功,我可以打印我在下面提到的秘密。 但是在将秘密传递给 helm 命令时,我收到了以下异常
错误:解析失败--设置数据:键“****”没有值
如果我对秘密进行硬编码,它就会起作用。
我的詹金斯文件如下所示
*** Pipeline Code ***
pipeline {
agent any
environment {
DB-USERNAME = credentials('db-username')
DB-PASSWORD = credentials('db-password')
}
stages {
stage('Foo') {
steps {
echo DB-USERNAME
echo DB-USERNAME.substring(0, DB-USERNAME.size() -1) // shows the right secret was loaded
sh 'helm upgrade --install $SERVICE $CHART_NAME --set $DB-USERNAME --set $DB-PASSWORD
}
}
}
}
任何人请就此给我建议
参考 :
https://linuxhelp4u.blogspot.com/2020/04/integrate-jenkins-with-azure-key-vault.html
使用double quote
sh一次
如果您正在使用"double quotes"
, $var
在SH "... $var ..."
将被解释为詹金斯变量;
如果您正在使用“单引号”, $var
在SH '... $var ...'
将被解释为shell变量。
例子
pipeline {
agent any
environment {
DB-USERNAME = credentials('db-username')
DB-PASSWORD = credentials('db-password')
}
stages {
stage('Foo') {
steps {
echo DB-USERNAME
echo DB-USERNAME.substring(0, DB-USERNAME.size() -1) // shows the right secret was loaded
sh "helm upgrade --install $SERVICE $CHART_NAME --set $DB-USERNAME --set $DB-PASSWORD"
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.