Конфигурация CircleCI: отсутствует свойство «docker» в VSCode

#circleci #circleci-workflows

#circleci #circleci-рабочие процессы

Вопрос:

У меня есть рабочий процесс CircleCI, в нем определен исполнитель и количество заданий, использующих этого исполнителя:

 version: 2.1

executors:
  circleci-aws-build-agent:
    docker:
      - image: kagarlickij/circleci-aws-build-agent:latest
    working_directory: ~/project

jobs:
  checkout:
    executor: circleci-aws-build-agent
    steps:
      - checkout
      - persist_to_workspace:
          root: ~/
          paths:
            - project

  set_aws_config:
    executor: circleci-aws-build-agent
    steps:
      - attach_workspace:
          at: ~/
      - run:
          name: Set AWS credentials
          command: bash aws-configure.sh
  

Это работает так, как ожидалось, но в VSCode я вижу ошибки:
введите описание изображения здесь

Есть идеи, как это можно исправить?

Ответ №1:

С вашим yml все в порядке, проблема в Schemastore, который использует VSCode.

Ответ №2:

Это потому, что вам не хватает docker блока, который определяет образ контейнера по умолчанию для задания. Допустимый блок будет:

 jobs:
  build:
    docker:
    - image: node:10
    steps:
    - checkout
  

Если у вас есть несколько заданий, которые используют один и тот же образ, вы можете определить переменную:

 var_1: amp;job_defaults
  docker:
  - image: node:10

jobs:
  build:
    <<: *job_defaults
    steps:
    - checkout 
  deploy:
    <<: *job_defaults
    steps:
    - checkout
  

Документация:https://circleci.com/docs/2.0/configuration-reference/#docker—machine—macosexecutor

Комментарии:

1. @21217070AB14 ответ выше правильный. На момент моего ответа я не знал об «исполнителях» для CircleCI. Я оставлю свой ответ для других, кто наткнется на это; но, пожалуйста, обратитесь к связанной проблеме GitHub, касающейся неработающей поддержки исполнителей.