CircleCI API ведет себя не так, как github commit триггер?
Я использую приложение Cypress -example-kitchen sink на CircleCI.
Это мой скрипт конфигурации yaml:
version: 2.1
orbs:
cypress: cypress-io/cypress@1.0.1
workflows:
build:
jobs:
- cypress/install:
build: 'npm run build'
- cypress/run:
requires:
- cypress/install
start: 'npm start'
Это срабатывает и проходит очень хорошо, когда я делаю коммит на мой форк репо выше.
Однако, когда я пытаюсь выполнить сборку CircleCI программно, используя curl -X POST https://circleci.com/api/v1.1/project/github/Atticus29/cypress-example-kitchensink?circle-token=myApiToken
, сборка завершается неудачно, и панель мониторинга заданий на CircleCI сообщает мне, что с моим файлом конфигурации что-то не так:
6 найденных нарушений схемы требуемый ключ [задания] не найдены рабочие процессы: 5 найденных нарушений схемы рабочие процессы: минимальный размер: [2], найдено: 1 рабочих процессов: сборка: задания: 4 найденных нарушения схемы рабочие процессы: сборка: задания: 0: 0 совпадают подсхемы вместо одного рабочего процесса: сборка: задания: 0: ожидаемый тип: строка, найдено: отображение рабочих процессов: сборка: задания: 0: установка: посторонний ключ [сборка] недопустима рабочие процессы: сборка: задания: 1: 0 совпадают подсхемы вместо один рабочие процессы: сборка: задания: 1: ожидаемый тип: строка, найдено: отображение рабочих процессов: сборка: задания: 1: запуск: посторонний ключ [запуск] не разрешен
И что-то пошло не так с моей сборкой:
Версия Build-agent 0.1.1216-48f80d08 (2018-12-07T16:01:40+0000) Ошибки конфигурации: произошло 2 ошибки:
- Конфигурация версии 2.1 требует настройки проекта "Включить сборку". Включить обработку сборки в разделе "Настройки проекта" -> "Дополнительные настройки". Для повторной обработки сборки, вы должны нажать новый коммит.
- Не могу найти работу по имени
build
бежать вjobs:
раздел вашего файла конфигурации. Если вы ожидали, что рабочий процесс запустится, проверьте, что в вашей конфигурации содержится ключ верхнего уровня под названием "рабочие процессы:"
Я могу подтвердить, что Enable Build Processing включена.
Ни одна из этих проблем не была проблемой, когда я запускал сборку обычным способом. Любой совет?
1 ответ
Circle CI по некоторым причинам продолжает предполагать, что проекты не настроены для v2.0, несмотря на то, что config.yml правильно назван и живет в нужном месте в репо. После нескольких коммитов эта проблема исчезла?
В итоге я запустил сборку программно с помощью следующего скрипта:
#!/bin/bash
PERSONAL_TOKEN=myPersonalTokenHere
MOST_RECENT_BUILD=`curl -s "https://circleci.com/api/v1.1/recent-builds?circle-token=$PERSONAL_TOKEN&limit=1"| grep 'build_num'|grep -o '\d.'|sed 's/,//g'|sort -r -n|head -n1`
curl -X POST "https://circleci.com/api/v1.1/project/github/holmbergius/wildMeCypress/$MOST_RECENT_BUILD/retry?circle-token=$PERSONAL_TOKEN"