Ошибка разбора файла конфигурации YAML в CircleCI - PullRequest
0 голосов
/ 11 февраля 2020

Я пробовал CircleCI в моем репозитории Github, но в его конфигурационном файле были некоторые проблемы. Я посмотрел на шаблон для Node.js конвейера и разработал свой собственный тест из него. Все, что он должен сделать, это установить Node.js, проверить его версию и установить последний пакет npm. После фиксации файла CircleCI сказал мне, что моя сборка не удалась. Когда я заглянул в журналы, то заметил, что сам файл конфигурации YAML был проанализирован неправильно. Я не мог найти никакой полезной информации, копаясь в Google, и внесение некоторых базовых c изменений в мою структуру кода, похоже, тоже не помогло.

Вот мой файл конфигурации:

version: 2.0
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/node:12.15.0

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      - image: circleci/mongo:3.4.4

    working_directory: ~/repo

    steps:
     - checkout
  - run:
          name: "Update files"
          command: |
            curl -sSL "https://nodejs.org/dist/v12.15.0/node-v12.15.0.tar.gz"
            npm @latest -g
  - run:
        name: "Check current version of Node.js"
        command: node -v

Вот файл журнала:

#!/bin/sh -eo pipefail
#!/bin/sh -eo pipefail
# Unable to parse YAML
# while parsing a block mapping
#  in 'string', line 7, column 3:
#       build:
#       ^
# expected <block end>, but found '-'
#  in 'string', line 21, column 3:
#       - run:
#       ^
# 
# -------
# Warning: This configuration was auto-generated to show you the message above.
# Don't rerun this job. Rerunning will have no effect.
false

1 Ответ

1 голос
/ 11 февраля 2020

yaml очень строго по отступу / количеству пробелов. В вашем случае проблема с отступом шагов

version: 2.0
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/node:12.15.0

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      - image: circleci/mongo:3.4.4

    working_directory: ~/repo

    steps:
      - checkout
      - run:
            name: "Update files"
            command: |
              curl -sSL "https://nodejs.org/dist/v12.15.0/node-v12.15.0.tar.gz"
              npm @latest -g
      - run:
            name: "Check current version of Node.js"
            command: node -v
...