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

     2023-02-19     77

关键词:

【中文标题】Packer 无法验证 jenkins 作业中的 hcl2 模板【英文标题】:Packer Unable to validate the hcl2 template in jenkins job 【发布时间】: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

【问题讨论】:

【参考方案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

【讨论】:

Jenkins 中的导出/导入作业

】Jenkins中的导出/导入作业【英文标题】:Export/importjobsinJenkins【发布时间】:2012-01-1511:46:11【问题描述】:是否可以在2个不同的Jenkins之间交换工作?我正在寻找一种导出/导入作业的方法。【问题讨论】:不是直接回答您的问... 查看详情

如何在 Jenkins 中将文件传递给下游作业

...但该文件从未出现过,我相信存在一些未解决的问题使其无法正常工作 查看详情

撤销远程机器中的分发证书后,Jenkins 工作无法正常工作

】撤销远程机器中的分发证书后,Jenkins工作无法正常工作【英文标题】:JenkinsjobsnotworkingafterrevokingDistributioncertificateinRemoteMachine【发布时间】:2019-05-2206:06:19【问题描述】:我在构建iOS作业时遇到了Jenkins的问题。最近我们的分... 查看详情

如何从 Jira 中的状态更改触发 Jenkins 作业

】如何从Jira中的状态更改触发Jenkins作业【英文标题】:HowtotriggeraJenkinsjobfromastatuschangeinJira【发布时间】:2015-07-1620:09:56【问题描述】:我一直在寻找一种方法来从状态或Jira更改状态中的票证/故事中触发Jenkins作业。举一个更详... 查看详情

将扩展选择参数值从一个作业传递到 Jenkins 管道中的另一个远程作业

】将扩展选择参数值从一个作业传递到Jenkins管道中的另一个远程作业【英文标题】:PassingextendedchoiceparametervaluefromonejobtoanotherremotejobinJenkinspipeline【发布时间】:2020-12-1118:41:30【问题描述】:我正在开发一个脚本化的Jenkins管道... 查看详情

Jenkins 作业失败,无法对远程执行 scp,权限被拒绝(公钥、密码)

】Jenkins作业失败,无法对远程执行scp,权限被拒绝(公钥、密码)【英文标题】:Jenkinsjobfailed,cannotdoscptoremote,Permissiondenied(publickey,password)【发布时间】:2021-07-1516:02:42【问题描述】:我需要一点帮助。在我的Jenkinsfile中,我有... 查看详情

尝试在 JENKINS 中运行作业时,maven 中的“Peer Not Authenticated”

】尝试在JENKINS中运行作业时,maven中的“PeerNotAuthenticated”【英文标题】:"PeerNotAuthenticated"inmavenwhentryingtorunajobinJENKINS【发布时间】:2013-08-2001:43:30【问题描述】:当我尝试在Jenkins中运行maven作业时,构建不成功。控制台... 查看详情

仅归档 katalon jenkins 作业中的最新 .png 文件

】仅归档katalonjenkins作业中的最新.png文件【英文标题】:Archiveonlythelatest.pngfilesinakatalonjenkinsjob【发布时间】:2020-01-1014:42:32【问题描述】:我需要将Jenkins中最新的katalon测试运行的任何.png屏幕截图存档,作为同一测试运行的构... 查看详情

Jenkins 作业因命令中的 for 循环而失败

】Jenkins作业因命令中的for循环而失败【英文标题】:Jenkinsjobisfailingwithforloopincommand【发布时间】:2020-10-2022:40:21【问题描述】:在Jenkins中,我尝试在BAT文件中实现的命令很少。所以我有2个BAT文件(RUN.BAT和CHANGE.BAT)。在RUN.BAT中... 查看详情

JENKINS 身份验证失败

】JENKINS身份验证失败【英文标题】:JENKINSAuthenticationFails【发布时间】:2014-10-1304:54:37【问题描述】:我在尝试从任何REST客户端触发Jenkins作业时遇到以下错误Authenticationrequired<!--Youareauthenticatedas:anonymousGroupsthatyouarein:Permissionyo... 查看详情

无法将 Jenkins 中的存储库连接到 GitLab

】无法将Jenkins中的存储库连接到GitLab【英文标题】:FailedtoconnecttorepositoryinJenkinstoGitLab【发布时间】:2018-01-0404:28:57【问题描述】:错误看起来像:无法连接到存储库:命令“gitls-remote-hHEAD”返回状态码128:标准输出:标准错误... 查看详情

中止时如何使用 SIGINT 而不是 SIGTERM 终止 Jenkins 作业中的 psql 进程?

】中止时如何使用SIGINT而不是SIGTERM终止Jenkins作业中的psql进程?【英文标题】:HowtoterminatepsqlprocessinsideJenkinsjobwithSIGINTinsteadofSIGTERMwhenaborted?【发布时间】:2017-07-1909:40:33【问题描述】:我有一个Jenkins作业,它使用shell(bash)脚本... 查看详情

根据另一个作业的状态运行 Jenkins 作业

】根据另一个作业的状态运行Jenkins作业【英文标题】:RunJenkinsJobBasedonAnotherJob\'sStatus【发布时间】:2017-06-2518:43:07【问题描述】:我有许多不同的项目,为每个项目配置了JenkinsCI作业以运行测试。当我创建一个新版本时,我有... 查看详情

无法在jenkins中使用变量参数调用远程参数化作业。(代码片段)

我正在使用jenkins声明式管道调用远程参数化作业。以下是脚本。defsvnRevisiondefesmBuildVerisonpipelineagentanystagesstage('SVNCheckout')stepsecho'SVNCheckout'scriptsvnCheckout=checkout([$class:'SubversionSCM',additionalCredentials:[],excludedCommitMessages:'',excludedRegions:'... 查看详情

无法通过 Jenkins 插件登录到 TFS

】无法通过Jenkins插件登录到TFS【英文标题】:UnabletoLogintoTFSviaJenkinsplugin【发布时间】:2012-07-2612:38:42【问题描述】:我正在尝试轮询我的TFS存储库中的更改。服务器网址:http://SERVER.com:8080/tfs/项目路径:$/QATFS项目登录名:DOMAIN... 查看详情

使用 System Groovy 选择参数访问可扩展选择中的 Jenkins 作业参数变量

】使用SystemGroovy选择参数访问可扩展选择中的Jenkins作业参数变量【英文标题】:AccessingJenkinsjobparametervariableinExtensibleChoiceusingSystemGroovyChoiceParameter【发布时间】:2016-07-2810:52:34【问题描述】:我使用Extensiblechoice定义两个参数:NE... 查看详情

Jenkins GitHub 插件:无法验证帐户

】JenkinsGitHub插件:无法验证帐户【英文标题】:JenkinsGitHubplugin:failedtovalidatetheaccount【发布时间】:2018-03-0118:02:24【问题描述】:我正在尝试在JenkinsConfiguresettings选项卡中配置GitHub服务器以设置webhook。我从下拉菜单中选择了我的... 查看详情

Jenkins 中的 withCredentials sshUserPrivateKey 验证失败

】Jenkins中的withCredentialssshUserPrivateKey验证失败【英文标题】:withCredentialssshUserPrivateKeyinJenkinsfailedauthfail【发布时间】:2021-07-0423:55:48【问题描述】:我在Linux中使用Jenkinsfile对Windows服务器进行SSH,这是我的Jenkins文件:pipelineagenta... 查看详情