【问题标题】:Packer Unable to validate the hcl2 template in jenkins jobPacker 无法验证 jenkins 作业中的 hcl2 模板
【发布时间】:2021-12-17 07:24:10
【问题描述】:

我正在努力构建我创建的 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

【问题讨论】:

    标签: amazon-web-services jenkins jenkins-pipeline packer hcl


    【解决方案1】:

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

    version 1.6.0 release notes: features

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      • 2017-12-07
      • 2021-12-16
      • 2018-12-09
      相关资源
      最近更新 更多