Как я могу решить ошибку кеша в конвейере gitlab ci

У меня есть файл .yml для конвейера.

Мой конвейер состоит из двух этапов: сначала установка, затем сборка. На этапе установки я устанавливаю node_modules, а затем кеширую. На этапе сборки я хочу сделать 2 операции с кешем, первая из которых использует node_modules из кеша, который кэшируется на этапе установки, а затем кеширует выходные файлы.

Мой файл .gitlab-ci.yml выглядит так:

      stages:
  - install
  - build

install:
  stage: install
  image: $BUILD_IMAGE
  only:
    refs:
      - master
      - develop
      - merge_requests
    changes:
      - "package.json"
  script:
    - if [[ ! -d node_modules ]];
      then
      npm install;
      fi
  cache:
    key:
      files:
        - package.json
    paths:
      - node_modules
    policy: pull-push
  retry:
    max: 2
    when:
      - runner_system_failure
      - unknown_failure

build:
  stage: build
  image: $BUILD_IMAGE
  only:
    - develop
    - master
    - merge_requests
  script:   
    - node ./src/scripts/build.js
  cache:
    - key:
        files:
          - package.json
      paths:
        - node_modules
      policy: pull
    - key:
      paths:
          - fragments_cache
          - hash.json
      policy: pull-push
  artifacts:
    paths:
      - build-time.log
      - fragments_cache
      - hash.json
    expire_in: 1 week
  retry:
    max: 2
    when:
      - runner_system_failure
      - unknown_failure
      

Выдает ошибку jobs:build:cache config should be a hash

Как я могу решить эту проблему ?

0 ответов

Другие вопросы по тегам