Continuous integration Can';在CircleCI build的目录中找不到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到所需的文件夹并执行脚

我有一份包含两个子项目的回购协议。为了完整起见,需要一个前端项目和一个firebase云功能项目(都使用单独的package.jsons)。现在对于这个项目,我想同时开始两份工作。但我无法用CircleCI完成设置。我没有任何缓存配置

项目结构 config.yml 所以现在我想我的问题是环境找不到我的package.json文件。打印的错误如下所示:

毛绒 我不知道在我的配置中设置两次工作目录是否正确,但它至少在两个不同的作业中设置

更新 如果我签出项目的根目录,然后
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