CircleCI版本2.1-“找不到名为'restore-cache'的命令的定义”

时间:2019-03-06 10:48:49

标签: continuous-integration circleci circleci-2.0 circleci-workflows

我目前正在尝试使用CircleCI 2.1版中的commands功能,以便我可以重用一些常用命令。我正在使用CLI命令进行测试:

circleci config process ./.circleci/config.latest.yaml > ./.circleci/config.yml

但是我收到以下错误:

Error: Error calling workflow: 'main'
Error calling job: 'build'
Error calling command: 'build_source'
Cannot find a definition for command named restore-cache

似乎restore-cache在纯正的版本2配置文件中可以正常工作,但是当我尝试使用process处理2.1文件时,会大惊小怪。

下面是我的config.yaml文件的编辑版本,希望可以使用。请让我知道是否还有其他有用的信息。

version: 2.1

defaults: &defaults
  /**
   *  Unimportant stuff
   */

aliases:
  - &restore-root-cache
    keys:
      - v1-deps-{{ .Branch }}-{{ checksum "package.json" }}
      - v1-deps-{{ .Branch }}
      - v1-deps

commands:
  build_source:
    description: 'Installs dependencies, then builds src, builds documentation, and runs tests'
    steps:
      - restore-cache: *restore-root-cache
      - other-commands...

jobs:
  build:
    <<: *defaults
    steps:
      - checkout
      - build_source

workflows:
  version: 2.1
  main:
    jobs:
      - build:
          filters:
            branches:
              ignore: develop

2 个答案:

答案 0 :(得分:0)

还原缓存是需要执行的特殊步骤。没有其他命令。

答案 1 :(得分:0)

命令是restore_cache(带下划线),而不是restore-cache(带破折号)https://circleci.com/docs/2.0/configuration-reference/#restore_cache

它应该在命令中起作用。