GitLab CI.yml报类型错误(期望string|array),Windows分区导航脚本出错
GitLab CI脚本导航Windows分区的YAML语法错误解决
问题原因
GitLab CI的YAML解析器会把未被正确包裹的F:识别为键值对的起始键(YAML语法中,冒号加空格会触发映射结构解析),导致整行命令被错误解析,不符合配置要求的string | array类型,从而抛出错误。
解决方案
有两种简单的修复方式:
方式1:用单引号包裹远程执行命令
单引号在YAML中不会解析特殊字符,能彻底避免冒号被误识别:
script: - sshpass -p "****()" ssh -o StrictHostKeyChecking=no ***@**** 'F: & cd server/htdocs & git pull'
方式2:转义冒号
在F:的冒号前添加反斜杠,让YAML将其视为普通字符:
script: - sshpass -p "****()" ssh -o StrictHostKeyChecking=no ***@**** "F\: & cd server/htdocs & git pull"
验证
修改配置后重新提交,YAML语法错误会被修复,远程命令可正常切换到F盘并执行后续的目录切换、拉取代码操作。
内容的提问来源于stack exchange,提问作者S.M_Emamian
相关产品推荐
相关产品推荐

