0

我在 CircleCI 上运行cypress-example-kitchen sink 应用程序。

这是我的 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'

当我对上面的 repo 的分支做出承诺时,这开始并顺利通过。

但是,当我尝试使用 以编程方式执行 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:运行:不允许外来键[开始]

我的构建出了点问题:

构建代理版本 0.1.1216-48f80d08 (2018-12-07T16:01:40+0000) 配置错误:发生 2 个错误:

  • 配置版本 2.1 需要“启用构建处理”项目设置。在项目设置 -> 高级设置下启用构建处理。为了重新触发构建处理,您必须推送一个新的提交。
  • 在配置文件的部分中找不到名为build要运行的作业。jobs:如果您希望工作流程运行,请检查您的配置是否包含名为“工作流程:”的顶级键

我可以确认启用构建处理已打开。

当我以通常的方式运行构建时,这些都不是问题。有什么建议吗?

4

1 回答 1

0

出于某种原因,Circle CI 继续假设项目没有为 v2.0 设置,尽管 config.yml 被称为正确的东西并且存在于 repo 中的正确位置。几次提交后,这个问题似乎消失了?

我最终使用以下脚本以编程方式运行构建:

#!/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"
于 2018-12-14T00:04:13.950 回答