首页 > 解决方案 > 用于 nodejs 的 CircleCI config.yml

问题描述

version: 2
  jobs:
    test:
      docker:
        - image: circleci/node:12.16
      steps:
        - checkout
        - run: echo "Running tests"
        - run: npm install
        - run: npm test
      build:
        docker:
          - image: circleci/node:12.16
        steps:
          - checkout
          - run: echo "build project"
          - npm install
          - npm run build
workflows:
  version: 2
    test_build:
      jobs:
        - test
        - build:
          requires:
            - test

上面的 YAML 是我用于 CircleCI 的 config.yml,但我收到此错误

Config does not conform to schema: {:workflows {:test_and_build {:jobs [nil {:build (not (map? nil)), :requires (not (map? a-clojure.lang.LazySeq))}]}}}

另一个观察结果是,如果我并行运行这些作业,它们运行时不会出现任何错误。也就是说,如果我删除了要求: - 如下所示的测试

workflows:
  version: 2
    test_build:
      jobs:
        - test
        - build

标签: node.jsdockercontinuous-integrationyamlcircleci

解决方案


build是一个工作,就像test, 并且应该以同样的方式缩进:

version: 2
  jobs:
    test:
      docker:
        - image: circleci/node:12.16
      steps:
        - checkout
        - run: echo "Running tests"
        - run: npm install
        - run: npm test
    build:
      docker:
        - image: circleci/node:12.16
      steps:
        - checkout
        - run: echo "build project"
        - npm install
        - npm run build

workflows:
  version: 2
    test_build:
      jobs:
        - test
        - build:
          requires:
            - test

推荐阅读