Continuous integration Can';在CircleCI build的目录中找不到package.json
我有一份包含两个子项目的回购协议。为了完整起见,需要一个前端项目和一个firebase云功能项目(都使用单独的package.jsons)。现在对于这个项目,我想同时开始两份工作。但我无法用CircleCI完成设置。我没有任何缓存配置 项目结构 config.yml 所以现在我想我的问题是环境找不到我的package.json文件。打印的错误如下所示: 毛绒 我不知道在我的配置中设置两次工作目录是否正确,但它至少在两个不同的作业中设置 更新 如果我签出项目的根目录,然后Continuous integration Can';在CircleCI build的目录中找不到package.json,continuous-integration,yaml,circleci,Continuous Integration,Yaml,Circleci,我有一份包含两个子项目的回购协议。为了完整起见,需要一个前端项目和一个firebase云功能项目(都使用单独的package.jsons)。现在对于这个项目,我想同时开始两份工作。但我无法用CircleCI完成设置。我没有任何缓存配置 项目结构 config.yml 所以现在我想我的问题是环境找不到我的package.json文件。打印的错误如下所示: 毛绒 我不知道在我的配置中设置两次工作目录是否正确,但它至少在两个不同的作业中设置 更新 如果我签出项目的根目录,然后cd到所需的文件夹并执行脚
cd
到所需的文件夹并执行脚本,我成功地使它工作。但这并不是真正的干涸(不要重复你自己),也许你们中的一些人有更好的解决方案:
version: 2.1
jobs:
cloud-functions:
docker:
- image: circleci/node:10.8.0
working_directory: ~/creepy-stories
steps:
- checkout
- run: cd cloud-functions/functions && npm install
- run: cd cloud-functions/functions && npm run lint
- run: cd cloud-functions/functions && npm run build
web:
docker:
- image: circleci/node:10.8.0
working_directory: ~/creepy-stories
steps:
- checkout
- run: cd web && npm install
- run: cd web && npm run lint
- run: cd web && npm run build
- run: cd web && npm run test:coverage
workflows:
version: 2
concurrently:
jobs:
- cloud-functions
- web
我想你已经添加了一个目录 您应该为CircleCi前端任务添加一个额外的运行,该任务执行
pwd
,然后执行ls-la
您可能会发现签出结果位于与您的回购协议同名的目录中
编辑以回答后续问题:
如果我没记错的话,checkout命令总是把它放在服务器的根目录中,这样您就可以更新工作目录来适应它。像这样
working_directory: ~/creepy-stories/web
steps:
- checkout
- run: npm install
- run: npm run lint
- run: npm run build
- run: npm run test:coverage
签出时,会自动将git存储库的根目录复制到当前工作目录中。如果希望工作目录是根目录的子目录,则需要为签出步骤提供将文件复制到工作目录父目录的路径 例如:
working_directory: ~/creepy-stories/cloud-functions
steps:
- checkout:
path: ~/creepy-stories
链接到文档:作业是否同时启动?我想这是第一件事。您是否有两个可用的构建服务器(即在付费计划上)来允许此操作?您已经报告了其中一个作业的
npm run lint
,它们的npm安装是否都成功?如果不是,您会发布这两个输出吗?不,我不需要为CI流程构建服务器。是的,npm安装成功。“不,我不需要为CI过程构建服务器”。您误解了我的评论-我是问您是否有多台CircleCI服务器来实现您所寻求的并行性。
version: 2.1
jobs:
cloud-functions:
docker:
- image: circleci/node:10.8.0
working_directory: ~/creepy-stories
steps:
- checkout
- run: cd cloud-functions/functions && npm install
- run: cd cloud-functions/functions && npm run lint
- run: cd cloud-functions/functions && npm run build
web:
docker:
- image: circleci/node:10.8.0
working_directory: ~/creepy-stories
steps:
- checkout
- run: cd web && npm install
- run: cd web && npm run lint
- run: cd web && npm run build
- run: cd web && npm run test:coverage
workflows:
version: 2
concurrently:
jobs:
- cloud-functions
- web
working_directory: ~/creepy-stories/web
steps:
- checkout
- run: npm install
- run: npm run lint
- run: npm run build
- run: npm run test:coverage
working_directory: ~/creepy-stories/cloud-functions
steps:
- checkout:
path: ~/creepy-stories