我正在尝试在 CircleCI 中为我的 React 项目设置工作流程。我想要实现的是找到一份工作来构建这些东西,另一份将主分支部署到 Firebase 托管。
这是我经过几次配置后所拥有的:
witmy: &witmy
docker:
- image: circleci/node:7.10
version: 2
jobs:
build:
<<: *witmy
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run: yarn install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
- run:
name: Build app in production mode
command: |
yarn build
- persist_to_workspace:
root: .
deploy:
<<: *witmy
steps:
- attach_workspace:
at: .
- run:
name: Deploy Master to Firebase
command: ./node_modules/.bin/firebase deploy --token=MY_TOKEN
workflows:
version: 2
build-and-deploy:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only: master
构建工作总是成功,但部署我有这个错误:
#!/bin/bash -eo pipefail
./node_modules/.bin/firebase deploy --token=MYTOKEN
/bin/bash: ./node_modules/.bin/firebase: No such file or directory
Exited with code 1
所以,我的理解是部署作业没有在构建的同一个地方运行,对吧?
我不知道如何解决这个问题。我已经阅读了他们提供的一些示例并尝试了几件事,但它不起作用。我也阅读了文档,但我认为如何配置所有内容都不是很清楚......也许我太愚蠢了。
我希望你们能帮助我解决这个问题。
干杯!!
编辑使用工作区添加我当前的配置
我已经添加了工作区......但我仍然无法让它工作,经过多次尝试后我收到了这个错误:
Persisting to Workspace
The specified paths did not match any files in /home/circleci/project
而且当我想测试它时,提交并推送到CircleCI对配置文件的每一次更改都是一件非常痛苦的事情......:/
谢谢!