jenkins - 如何在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"
请指导我。
解决方案
您的过程是正确的,但您需要正确导航原始 YAML 结构。我想你需要
julesnew.mapping[0].awsDeployment[0].regions[0].codedeploy[0].deploymentGroup = "new-deploymentgroup"
推荐阅读
- python - Pipenv "ModuleNotFoundError: No module named 'pip'" 升级到 python3.7 后
- ruby-on-rails - 在 rails yml 文件中存储密码的最佳解决方案是什么?
- git - git ls-files --stage 即使在提交后也显示文件
- ruby-on-rails - 如何在 Vagrant 中创建 Oracle 数据库并在我的本地 Rails 应用程序和 SQL Developer 中连接到它?
- python-3.x - 使用 asyncio 同时运行的两个协程
- git - Google repo 可以报告当前分支领先于远程吗?
- .net - VB中double.tryparse方法的第二个参数是什么意思
- c# - 将游戏对象添加到列表
- django - 如何使用管理员帐户配置 djongo 进行生产?
- javascript - WebSpeechAPI 使网站可访问