Packer 无法验证 jenkins 作业中的 hcl2 模板

Packer Unable to validate the hcl2 template in jenkins job

我正在构建打包程序管道 我创建了 json 模板,该模板工作正常,但根据打包程序的建议,我正在努力将其升级到 hcl2 模板。 当我运行 hcl2_upgrade 命令。我看到 json 模板已转换为 .pkr.hcl 模板,但 运行 正在转换它。我已经根据打包程序文档中的建议对模板进行了一些自定义。通过 jenkins job 执行管道时,出现错误。

template_pqr.json.pkr.hcl:下面是我的模板的起始行,它抛出错误

variable "ami_name" {
  type    = string
  default = "abc"
}

我的 jenkisn 文件是

stage('packer template validation') {
            steps{
                    sh label: 'Validate Template', script: "packer validate template_pqr.json.pkr.hcl"
           }
        }
        stage('AMI creation') {
            steps{
                    withAWS(credentials: 'credent') {
                        sh label: 'build template_pqr ', script: "packer build template_pqr.json.pkr.hcl"
                    }
            }
        }
       }

错误:

packer validate template_pqr.json.pkr.hcl
Failed to parse template: Error parsing JSON: invalid character 'v' looking for beginning of value
At line 2, column 2 (offset 2):
    1: 
    2: v

validate 命令以 1.6 版之前的 Packer 版本中的 HCL2 文件为目标时,将抛出该错误消息。这是 Packer 的版本,它首先引入了对 validate 命令的 HCL2 支持(尽管 1.5 中支持 build 命令)。您需要更新 Jenkins Pipeline 代理以包含至少为 1.6.0 的已安装 Packer 版本。我会推荐最新版本的 1.6.x 因为 1.7 引入了插件分离,您的模板和配置可能不支持它。

version 1.6.0 release notes: features