#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