CircleCI配置文件报错求助:期望字符串类型却找到映射类型
问题排查与解决
错误原因
配置文件中workflows部分的分支过滤规则存在缩进错误,导致CircleCI无法正确解析配置结构。具体是only: main的缩进层级错误,未正确嵌套在branches节点下,触发了类型解析异常。
修正后的完整配置
version: 2.1 orbs: node: circleci/node@5.0.2 heroku: circleci/heroku@1.2.6 jobs: build_and_test: executor: node/default steps: - checkout - node/install-packages: pkg-manager: npm - run: command: npm run test name: Run tests - run: command: npm run build name: Build app - persist_to_workspace: root: ~/project paths: - . deploy: # 可自定义该任务名称 executor: heroku/default steps: - attach_workspace: at: ~/project - heroku/deploy-via-git: force: true # 强制推送到Heroku远程仓库 workflows: test_my_app: jobs: - build_and_test - deploy: requires: - build_and_test # 仅当build_and_test任务完成后才执行部署 filters: branches: only: main # 修正缩进,确保该规则属于branches节点的子属性
关键修正说明
- 将
only: main调整为比branches多一层缩进,让它成为branches节点的子属性,完全符合CircleCI的YAML配置语法规范,即可解决解析报错问题。
内容的提问来源于stack exchange,提问作者munezero olivier hugue
相关产品推荐
相关产品推荐

