Синтаксическая проблема конфигурации 2.1 в CircleCi с использованием API - PullRequest
0 голосов
/ 09 июля 2019

У меня есть файл конфигурации 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.

...