Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Jenkins管道中运行kubectl修补程序statefulset_Jenkins_Patch_Kubectl_Kubernetes Statefulset - Fatal编程技术网

在Jenkins管道中运行kubectl修补程序statefulset

在Jenkins管道中运行kubectl修补程序statefulset,jenkins,patch,kubectl,kubernetes-statefulset,Jenkins,Patch,Kubectl,Kubernetes Statefulset,我需要用Jenkins更新statefulset。更准确地说,更新init容器中的主题。 这是我在Jenkins中使用的代码(在terminal中工作正常): 我得到的错误:应为'}',在第293行第192列找到'-'。 年龄“:“xxx.dkr.ecr.us-east-1.am 当我将双引号更改为单引号时: kubectl修补程序statefulset keydove作业部署-n ci环境开发-p'{'spec':{'template':{'spec':{'initContainers':[{

我需要用Jenkins更新statefulset。更准确地说,更新init容器中的主题。 这是我在Jenkins中使用的代码(在terminal中工作正常):

我得到的错误:应为'}',在第293行第192列找到'-'。 年龄“:“xxx.dkr.ecr.us-east-1.am

当我将双引号更改为单引号时: kubectl修补程序statefulset keydove作业部署-n ci环境开发-p'{'spec':{'template':{'spec':{'initContainers':[{'name':'theme','image':'837236160124.dkr.ecr.us-east-1.amazonaws.com/ci/keydove-theme-thermo-fisher-develop:develop-0.0.1-3'}}}}

我明白了:

服务器错误(BadRequest):查找对象键字符串开头的无效字符“s”


你能帮我认识一下引号有什么问题吗?我应该用什么命令?

我明白了。这与Groovy中的筛选有关。这是正确的版本:

kubectl patch statefulset test-deploy --namespace=${namespace} -p '{\"spec\": {\"template\": {\"spec\":{\"initContainers\":[{\"name\": \"theme\", \"image\": \"${theme}\"}]}}}}'

我发现使用
kubectl apply
比使用
patch
kubectl patch statefulset test-deploy --namespace=${namespace} -p '{\"spec\": {\"template\": {\"spec\":{\"initContainers\":[{\"name\": \"theme\", \"image\": \"${theme}\"}]}}}}'