在我的circle.yml
我添加了env:
标题来添加我的mysql环境变量设置,我在网上的一些例子中看到了它,它运行良好,我的构建通过。但是我得到了这个警告:
这就是我circle.yml
docker:
- image: elasticsearch:1.3.9
- image: circleci/mysql:5.6
env:
- 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"
.....
之前有人有这个吗?
答案 0 :(得分:4)
免责声明:CircleCI Developer Advocate
这里有一些问题。这不是一个错误。正在使用错误的密钥。
这是一个.circleci/config.yml
摘录而不是circle.yml
前者是CircleCI 2.0,后者是CircleCI 1.0。
使用的密钥不应该是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"
答案 1 :(得分:0)
不幸的是,这是团队确认的Circle CI中的一个错误。
更多信息并在此处进行跟踪:Yaml anchors now show as a schema violation。
从帖子中引用:
YAML主播将继续工作 - 别担心。
我们现在正在努力的是停止允许新项目 如果他们有“无效配置”,则构建。配置无效有点 现在模糊不清理想情况下,我们想要制作任何额外的/未记录的 工作流程或作业下的YAML键是错误的(对于新项目 只)。
这里的目标是捕获配置中的拼写错误和错误。我们有很多 拼写错误的“环境”和“resource_class”的用户 现在,例如。像这样的错别字是目前无声的失败。一个 构建将运行这些拼写错误,但没有环境或 已指定的资源类。我们想要努力做到这一点 错误,指向YAML中有错误的键的明确指针。
新的配置错误警告是我们开始突出显示的一种方式 此类错误并收集有关最常见错误的数据 配置是。
我们希望将config.yml的顶层保持打开以允许任何 使用锚点引用的额外定义。对于我们的大多数人 例如,我们在内部项目中声明了docker镜像 顶级使用锚点,并在每个作业中引用它,以便干掉 配置。
我们还在开发一个模块化,可组合的配置系统 除了模式检查。我们希望允许您定义步骤, 作业和工作流程一次,然后跨项目重复使用。如果你的话 想了解更多相关信息,我很乐意聊天。
目前看起来似乎没有替代方案。