记一次项目中yaml文档引发的惨案 (#yaml文档格式#yaml中'-'的作用)
项目已经在收尾阶段了,然后老大让我去把dockerCompose.yaml文件中公用配置给抽取一下,就是说以后改配置啊什么的就可以直接在抽出来的公用变量里面改就行了,
不用一个模块一个模块地去改(我们这个项目是微服务项目,十多个模块),本来是个很没技术含量的活儿,但是呢,引发了一场切(diao)尸吊的话题,来看下原始的配置
文件:
看下官网的语法:
我抽取的:
然后当然就是报错啦,
再然后就是各种检查顺序啊,检查有没有空格的尝试,然后无果,我就和老大汇报说抽不了,如果能抽我切尸吊俩厘米,然后我老大就试了两分钟,就让我切,这是我老大的配置:
嘿,这样子改之后,部署截断确实没有问题了,变量也是能用,但是!(尸吊保住了)redis连接不上,回头一一排查,原来的:
- REDIS-PORT=6379 - REDIS-PWD=
这样格式的后面为空,然后我转键值对的时候理所当然地 转成了这个样子:
REDIS-PORT: 6379 REDIS-PWD:
找了好久,老大发给我一张截图:
一个是数组,一个是对象,解析的时候,数据格式不一样,那解析的结果能一样吗?然后,试了试:
解析结果不对啊,一个为空字符串,一个为null啊,键值对要解析成空字符串应该是这种:
把文件改了下:
REDIS-PORT: 6379 REDIS-PWD: ""果然
果然就不报错了,redis能连接上了,简而言之,就是数据格式原因,困了很久,很开心(尸吊保住了)