CircleCI Ожидал «Джобрефа»

#testing #continuous-integration #circleci

Вопрос:

Я новичок в CircleCI и пытался настроить проект. При первоначальной настройке и фиксации файл конфигурации был создан нормально, однако мне нужно было использовать переменные среды, поэтому я попытался настроить контекст: https://circleci.com/docs/2.0/contexts/. Я создал контекст со своей переменной среды и назвал его «тестовый контекст».

Вот мой конфигурационный файл: версия: 2.1

 orbs:
  python: circleci/python@1.2

workflows:
  sample:
    jobs:
      - build-and-test:
        context:
          - test-context

jobs:
  build-and-test:  
      - image: cimg/python:3.6
    parallelism: 4
    steps:
      - checkout
      - python/install-packages:
          pkg-manager: pip
     
          - run:
...
 

Я получаю следующую ошибку Линтера:

 ERROR IN CONFIG FILE:
[#/workflows/sample] only 1 subschema matches out of 2
1. [#/workflows/sample/jobs/0] 0 subschemas matched instead of one
|   1. [#/workflows/sample/jobs/0] expected type: String, found: Mapping
|   |   SCHEMA:
|   |     type: string
|   |   INPUT:
|   |     build-and-test: null
|   |     context:
|   |     - test-context
|   2. [#/workflows/sample/jobs/0/context] expected type: Mapping, found: Sequence
|   |   SCHEMA:
|   |     type: object
|   |   INPUT:
|   |     - test-context
 

и - test-context подчеркнуто ошибкой: Incorrect type. Expected "jobRef"

Как я могу использовать контексты для правильной интеграции переменных среды с моим проектом?

Ответ №1:

@figbar, то, как вы пишете это в рабочем процессе, имеет проблемы с синтаксисом. вы должны исправить это следующим образом.

 orbs:
  python: circleci/python@1.2

workflows:
  sample:
    jobs:
      - build-and-test:
          context:
            - test-context

jobs:
  build-and-test:
    docker:
      - image: cimg/python:3.6
    parallelism: 4
    steps:
      - checkout
      - python/install-packages:
      - run:
...
 

Вы можете получить дополнительную информацию о контексте этой документации. Контекст CircleCI