У меня есть файл конфигурации CircleCi, который успешно выполняется при коммите, но мне нужно, чтобы этот файл запускался через оболочку (команда CircleAPI).
Это команда, которую я использую локально для запуска руководствазадание (без фиксации в хранилище):
curl -u ${CIRCLE_TOKEN}: \
--form config=@config.yml \
-d build_parameters[CIRCLE_JOB]=deploy_dev_2 \
https://circleci.com/api/v1.1/project/bitbucket/<project_name>/<repo>/tree/<branch>
Это мой файл:
version: 2.1
orbs:
jira: circleci/jira@volatile
jobs:
build:
docker:
- image: circleci/node:carbon
steps:
- checkout
- setup_remote_docker:
version: 18.06.0-ce
- run: echo "do stuff here"
deploy_dev:
docker:
- image: circleci/node:carbon
environment:
steps:
- checkout
- setup_remote_docker:
version: 18.06.0-ce
- run: echo "do other stuff here"
deploy_dev_2:
docker:
- image: circleci/node:carbon
environment:
steps:
- checkout
- setup_remote_docker:
version: 18.06.0-ce
- run: echo "do other stuff here 2"
deploy_prod:
docker:
- image: circleci/node:carbon
steps:
- checkout
- setup_remote_docker:
version: 18.06.0-ce
- run: echo "do awesome stuff here"
workflows:
deploy:
jobs:
- build
- deploy_dev:
name: Dev Deploy
requires:
- build
filters:
branches:
only:
- master-dev
post-steps:
- jira/notify:
environment_type: development
job_type: deployment
- deploy_dev_2:
name: Dev Extra Deploy
requires:
- build
filters:
branches:
only:
- extra-servers-test
post-steps:
- jira/notify:
environment_type: development
job_type: deployment
- hold:
name: Approve Prod Deploy
requires:
- Dev Deploy
type: approval
- deploy_prod:
name: Prod Deploy
requires:
- Approve Prod Deploy
post-steps:
- jira/notify:
environment_type: production
job_type: deployment
Журнал ошибок:
Your config file has errors and may not run correctly:
workflows: 12 schema violations found
workflows: minimum size: [2], found: [1]
workflows: deploy: jobs: 11 schema violations found
workflows: deploy: jobs: 1: 0 subschemas matched instead of one
workflows: deploy: jobs: 1: expected type: String, found: Mapping
workflows: deploy: jobs: 1: deploy_dev: 2 schema violations found
workflows: deploy: jobs: 1: deploy_dev: extraneous key [name] is not permitted
workflows: deploy: jobs: 1: deploy_dev: extraneous key [post-steps] is not permitted
workflows: deploy: jobs: 2: 0 subschemas matched instead of one
workflows: deploy: jobs: 2: expected type: String, found: Mapping
workflows: deploy: jobs: 2: deploy_dev_2: 2 schema violations found
workflows: deploy: jobs: 2: deploy_dev_2: extraneous key [name] is not permitted
workflows: deploy: jobs: 2: deploy_dev_2: extraneous key [post-steps] is not permitted
workflows: deploy: jobs: 3: 0 subschemas matched instead of one
workflows: deploy: jobs: 3: expected type: String, found: Mapping
workflows: deploy: jobs: 3: hold: extraneous key [name] is not permitted
workflows: deploy: jobs: 4: 0 subschemas matched instead of one
workflows: deploy: jobs: 4: expected type: String, found: Mapping
workflows: deploy: jobs: 4: deploy_prod: 2 schema violations found
workflows: deploy: jobs: 4: deploy_prod: extraneous key [name] is not permitted
workflows: deploy: jobs: 4: deploy_prod: extraneous key [post-steps] is not permitted
Я пытался редактировать этофайл много раз в течение последних нескольких недель, но пришлось вернуться к этой версии, так как она работает правильно при фиксации репозитория.
Я не знаю, существует ли конфликт между версией файла конфигурации (2.1) и версией API (1.1) или все они решаются с помощью синтаксиса, без потери функциональности (ручное утверждение задания и т. Д.),было бы здорово, если бы я мог запустить его с помощью команды API.