CircleCI提示'extraneous key env is not permitted'警告的解决咨询
解决CircleCI配置中'extraneous key env is not permitted'警告
我之前也碰到过完全一样的问题!当时也是参考网上的示例用了env键来配置MySQL的环境变量,虽然构建运行都正常,但每次都会弹出这个警告,后来查了CircleCI的官方配置规范才搞明白原因。
问题出在CircleCI的配置字段规范上:对于docker下的服务镜像,设置环境变量的官方合法字段是environment,而不是你用的env。虽然有些Docker镜像可能能识别env这个键,但CircleCI的配置校验器会把它判定为非规范的多余字段,所以抛出了警告。
只需要把你的配置里的env改成environment就可以解决这个问题,修改后的配置如下:
docker: - image: elasticsearch:1.3.9 - image: circleci/mysql:5.6 environment: - MYSQL_ALLOW_EMPTY_PASSWORD=true - MYSQL_HOST=127.0.0.1 - MYSQL_ROOT_HOST=% - MYSQL_DATABASE=MyDB environment: SBT_VERSION: 1.1.0 SBT_OPTS: "-Xms512M -Xmx1536M -Xss1M" .....
修改后重新运行构建,那个警告就会消失,而且MySQL的环境变量配置依然会正常生效——因为environment是CircleCI官方支持的用于给服务镜像注入环境变量的字段,完全符合配置规范,也不会影响原有功能。
内容的提问来源于stack exchange,提问作者MNY
相关产品推荐
相关产品推荐

