首页 > 解决方案 > 如何在groovy中替换yaml文件中的字符串?

问题描述

示例 jules.yaml 文件:

sealId: 222222
node: java-11 && maven-3 
baseVersion: 1.0.0
aws:
  endpointType: codedeploy
  appspec: 
mapping:
  - name: master
    awsDeployment:
      - env: dev
        accountId: '122121212'
        regions:
          - region: us-east-1
            codedeploy:
              - application: cdp-agent-codedeploy
                deploymentGroup: cdp-agent-codedeploy-gp

我需要用不同的值替换应用程序和部署组。我试过像下面但没有运气

我的詹金斯文件代码:

julesnew = readYaml file: "jules.yml"
       
          julesnew.mapping[0].awsDeployment.env[0].regions[0].codedeploy.deploymentGroup ="new-deploymentgroup"

writeYaml file: 'juels-new.yaml', data: julesnew
          sh "cat juels-new.yaml"

请指导我。

标签: jenkinsgroovyyaml

解决方案


您的过程是正确的,但您需要正确导航原始 YAML 结构。我想你需要

julesnew.mapping[0].awsDeployment[0].regions[0].codedeploy[0].deploymentGroup = "new-deploymentgroup"

推荐阅读