You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Jenkins环境变量传入Helm Chart的deployment.yml配置

问题根因

报错核心是两个配置错误:

  • Helm --set 传参的字段路径不匹配:你定义的镜像tag存放在values.yaml的image.tag嵌套路径下,但传参时写的是根层级的image_tag,参数根本没有注入到正确的字段位置,%image_tag%是你手动写的无效占位符,Helm不会自动识别Windows批处理的%变量名%格式做替换,最终原样输出到镜像引用字段触发格式错误。
  • 同阶段的kubectl create deployment命令镜像地址配置错误,直接用构建号作为镜像名,无法拉取你推送到DockerHub的目标镜像。
修正方案

1. 调整values.yaml配置

删除无效的%image_tag%占位,不需要提前写占位符,留空即可:

image:
  repository: photop/micro_focus
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: ""

你的deployment.yaml模板逻辑本身是正确的,无需修改,会自动读取.Values.image.tag的值渲染镜像地址。

2. 修正Jenkinsfile阶段配置

把Helm传参的字段路径改成和Values结构匹配的image.tag,同时修正kubectl命令的镜像地址:

stage ('Deploy&Operate HM'){
    steps{
        script{
            bat 'minikube start'
            bat 'kubectl create deployment %BUILD_NUMBER% --image="photop/micro_focus:%BUILD_NUMBER%"'
            bat 'helm install test-%BUILD_NUMBER% ./micro --set image.tag=%BUILD_NUMBER%'
        }
    }
}

补充说明:如果你后续切换到Linux节点执行Jenkins任务,批处理变量格式要从%BUILD_NUMBER%改成$BUILD_NUMBER,当前Windows bat节点保持原有变量格式即可。

内容的提问来源于stack exchange,提问作者Lior Swisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:36:18