当我尝试将kubectl补丁部署到Gitlab时,Yaml无效

当我尝试将kubectl补丁部署到Gitlab时,Yaml无效,gitlab,yaml,gitlab-ci,kubectl,jupyterhub,Gitlab,Yaml,Gitlab Ci,Kubectl,Jupyterhub,在安装过程中,我需要通过.gitlab-ci.yml修补Jupyterhub安装。当我把我的分支推到giblab时,我得到“yaml无效”。当我从命令行运行脚本时,脚本可以工作,但当我从.gitlab-ci.yml运行脚本时,脚本不能工作 - kubectl patch deploy -n $NAMESPACE hub --type json --patch '[{"op": "replace", "path": "/spec/template/spec/containers/0/command

在安装过程中,我需要通过.gitlab-ci.yml修补Jupyterhub安装。当我把我的分支推到giblab时,我得到“yaml无效”。当我从命令行运行脚本时,脚本可以工作,但当我从.gitlab-ci.yml运行脚本时,脚本不能工作

- kubectl patch deploy -n $NAMESPACE hub --type json --patch '[{"op": "replace", "path": "/spec/template/spec/containers/0/command", "value": ["bash", "-c", "\nmkdir -p ~/hotfix\ncp -r /usr/local/lib/python3.6/dist-packages/kubespawner ~/hotfix\nls -R ~/hotfix\npatch ~/hotfix/kubespawner/spawner.py << EOT\n72c72\n<             key=lambda x: x.last_timestamp,\n---\n>             key=lambda x: x.last_timestamp and x.last_timestamp.timestamp() or 0.,\nEOT\n\nPYTHONPATH=$HOME/hotfix jupyterhub --config /srv/jupyterhub_config.py --upgrade-db\n"]}]'
-kubectl补丁部署-n$NAMESPACE hub--type json--patch'[{“op”:“replace”,“path”:“/spec/template/spec/containers/0/command”,“value”:[“bash”,“-c”,“\nmkdir-p~/hotfix\ncp-r/usr/local/lib/python3.6/dist-packages/kubespawner~/hotfix\nls-r~/hotfix\npatch~/hotfix/kubespawner/spawner.py key=lambda x:x.last_timestamp和x.last_timestamp.timestamp()或0.,\nEOT\n\nPYTHONPATH=$HOME/hotfix-jupyterhub---config/srv/jupyterhub---config.py----升级数据库”]}”

这是因为该命令包含一个未加引号的
,YAML将其视为映射值指示器。您可以使用折叠块标量,该标量可以逐字解释所有包含的字符,但可以将换行符折叠为空格(也有助于可读性):

->-
kubectl补丁部署-n$NAMESPACE hub——类型json
--修补程序“[{”op:“替换”,
“路径”:“/spec/template/spec/containers/0/command”,
“值”:[“bash”、“-c”、“\nmkdir-p~/hotfix\ncp-r”
/usr/local/lib/python3.6/dist-packages/kubespawner~/hotfix\nls
-R~/hotfix\n匹配~/hotfix/kubespawner/spawner.py key=lambda x:x.last_时间戳
和x.last_timestamp.timestamp()或0.,\nEOT\n\nPYTHONPATH=$HOME/hotfix
jupyterhub--config/srv/jupyterhub_config.py--upgrade db\n“]}]'
只能在单个空格上拆分行,并且不能进一步缩进后续行