我的yq有点在我的gitlab-ci. yaml发脾气。我的gitlab服务器的shell中的yq版本是4.16.2,我测试它的本地版本是4.35.2。
根据Official yq docs,我确实使用了正确的语法。我的意思是它在本地工作,它只是不工作在我的gitlab服务器上的某些原因eventho都有yq版本4.x.x
我的gitlab-ci代码如下所示:
$ if [ $AUTH_ENABLED = true ];
then yq eval -i '.data.auth =“'$'"' secret.yaml;
else yq -i 'del(.data)' secret.yaml; Fi
然后它抛出:* 错误:未知命令“del(.data)”for“yq”*
我不确定我是否错过了什么,但我就是不知道这里的问题是什么。
1条答案
按热度按时间pprl5pva1#
在mikefarah的yq版本v4.18.1中,“eval现在是默认命令,你可以不用它”。对于之前的版本,包括4.16.2,您必须提供
eval
(或e
)命令。所以,改变到
或
就像您在
then
分支中执行的命令一样。