gpt4 book ai didi

docker-compose - 如何使用 yq 删除 YAML 文件中的属性?

转载 作者:行者123 更新时间:2023-12-05 02:05:04 25 4
gpt4 key购买 nike

由于 ubuntu-latest 最近发生了变化 image这引入了一个有缺陷的 docker-compose 版本,我不得不在我的管道上锁定 docker-compose 的版本。

但是,我曾使用一项任务来帮助清理我的部署脚本,即 DockerCompose@0。我正在尝试实现相当于

- task: DockerCompose@0
displayName: 'Remove build options'
inputs:
action: 'Combine configuration'
removeBuildOptions: true

所以基本上我在考虑使用 yq 来解析 YAML 文件并删除不适用于堆栈部署的构建选项。但是,我不确定该怎么做。因为我需要从可能包含它的每个服务中删除它。

所以给定以下输入

services:
def:
build: ./def
image: trajano/def
ghi:
image: trajano/ghi
version: '3.7'

我想得到

services:
def:
image: trajano/def
ghi:
image: trajano/ghi
version: '3.7'

最佳答案

对于较新的 yq 版本 ( see Docs ):

yq eval 'del(services.[].build)' foo.yml

关于docker-compose - 如何使用 yq 删除 YAML 文件中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63854901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com