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

Jenkins CASC拆分EC2插件AMI模板配置后启动报错求助

问题解决方法

错误原因

单个AMI配置文件开头多了列表符号-,导致SnakeYaml解析后,templates列表里的每个元素变成了包含单个对象的嵌套列表,而非EC2 Cloud配置要求的单个模板对象,因此触发Single entry map expected错误。

修正步骤

  1. 调整单个AMI配置文件,删除开头的-,让文件内容直接是单个模板的键值对:

    • ami1配置文件修改后:
      ami: "ami1-name"
      ... # 其他模板配置项
      
    • ami2配置文件修改后:
      ami: "ami2-name"
      ... # 其他模板配置项
      
  2. 主配置文件保持原有结构,继续用${file()}引用单个模板文件:

    jenkins:
      clouds:
        - amazonEC2:
          name: "xxxxxx"
          instanceCapStr: "50"
          region: "region"
          sshKeysCredentialsId: "credentialsId"
          templates:
          - ${file(path to config of ami1)}
            
          - ${file(path to config of ami2)}
    
          useInstanceProfileForCredentials: false
    

验证逻辑

主配置的templates是列表结构,每个- ${file(...)}会加载单个模板的键值对(即一个Map对象),最终合并后templates会成为包含两个Map的列表,和你最初的完整配置结构完全一致,符合CASC插件与EC2插件的解析要求。

内容的提问来源于stack exchange,提问作者Siddharth Seth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:57:41