【问题标题】:yaml: did not find expected keyyaml:没有找到预期的密钥
【发布时间】:2019-01-10 02:46:14
【问题描述】:
  • 解析配置文件时出错:yaml:第 22 行:未找到预期的密钥
  • 在配置文件的 jobs: 部分中找不到名为 build 的作业来运行。

我遇到了这些错误,但我对 yaml 真的很陌生,所以我真的找不到它为什么不起作用的原因。有任何想法吗?有人说它可能有多余的空间或其他东西,但我真的找不到它。

yaml 文件

defaults: &defaults:
  - checkout
  - restore_cache:
    keys:
      - v1-dependencies-{{ checksum "package.json" }}
      - v1-dependencies-
  - run: npm install
  - save_cache:
      paths:
        - node_modules
      key: v1-dependencies-{{ checksum "package.json" }}

version: 2
jobs:
  build:
    docker:
      - image: circleci/node:10.3.0

    working_directory: ~/repo

    steps:
      <<: *defaults   // << here
      - run: npm run test
      - run: npm run build
  deploy:
    docker:
      - image: circleci/node:10.3.0

      working_directory: ~/repo

    steps:
      <<: *defaults
      - run:
          name: Deploy app scripts to AWS S3
          command: npm run update-app

workflows:
  version: 2
  build-deploy:
    jobs:
      - build
      - deploy:
          requires:
            - build
          filters:
            branches:
              only: master

【问题讨论】:

标签: yaml circleci circleci-2.0 circleci-workflows


【解决方案1】:

您正在尝试做的是尝试合并两个序列。即默认的所有元素都合并到步骤中。 YAML 规范不支持。只有您可以合并地图和嵌套序列。

这是无效的:

steps:
  <<: *defaults
  - run:

as

如果你这样做:

 step_values: &step_values
   - run ...
steps:
  - *defaults
  - *step_values

你最终会得到嵌套序列,这不是你想要的。

【讨论】:

    【解决方案2】:

    暂时不可能。不幸的是,唯一的解决方案是重复整个列表。 Many users are requesting the same feature.

    【讨论】:

      【解决方案3】:

      您的 YAML 似乎没有正确编写。您可以随时从 http://www.yamllint.com/ 等开源网站检查 YAML 的结构验证。

      在检查 yaml 文件时,在第 22 行你做错了。正如 Srikanth 所解释的,您尝试做的是合并两个序列。即默认的所有元素都合并到步骤中。目前 YAML 不支持。

      只有你可以合并地图和嵌套序列 如果你这样做:

       step_values: &step_values
         - run ...
      -----------------------------------------------
          steps:
            - *defaults
            - *step_values
      

      你最终会得到嵌套序列,这不是你想要的。

      【讨论】:

        猜你喜欢
        • 2019-12-13
        • 2021-01-31
        • 1970-01-01
        • 2021-12-27
        • 1970-01-01
        • 2020-03-10
        • 1970-01-01
        • 2021-12-08
        • 2019-06-26
        相关资源
        最近更新 更多