我在CircleCI上具有以下配置(my_cms / .circleci / config.iml):
version: 2
jobs:
build_node:
working_directory: ~/my_cms/apps/my_cms_web/assets
docker:
- image: node:8.9
environment:
- MIX_ENV: "test"
steps:
- checkout
- run: yarn install
- run: yarn test
build_elixir:
working_directory: ~/my_cms
docker:
- image: elixir:1.5.2
- image: postgres:9.6.3
environment:
- MIX_ENV: "test"
steps:
- checkout
- run: mix deps.get
- run:
command: mix deps.compile
working_directory: ~/my_cms/apps/my_cms_core
- run:
command: mix deps.compile
working_directory: ~/my_cms/apps/my_cms_web
workflows:
version: 2
build:
jobs:
- build_node
- build_elixir
这不是完整的清单,但我认为它足以解决问题。 CircleCI成功完成了build_elixir
工作。但是以下错误停止了build_node
的工作:
!/ bin / bash -eo pipefail
纱线测试
纱线运行v1.3.2
错误在以下位置找不到package.json文件 “ / root / gem_cms / apps / gem_cms_web / assets”
info访问 退出,代码为1
我在仓库中有以下文件:
yarn
在my_cms/apps/my_cms_web/assets
文件夹中本地工作,没有任何问题,但是我不能让他通过CircleCI进行远程工作。我哪里错了?
答案 0 :(得分:1)
我将首先使用git ls-files | grep package.json
检查文件是否确实在git中。一旦确认它在git中,然后尝试将一些调试命令添加到circle配置中。
您可能需要尝试一些操作:ls -l
,pwd
。
我还注意到错误消息中的目录与您的配置不匹配,这似乎很奇怪。该错误消息来自较早的版本吗?该命令也不匹配。
答案 1 :(得分:0)
经过一些尝试,以下节点构建作业的配置使我成功构建:
version: 2
jobs:
build_node:
working_directory: ~/my_cms
docker:
- image: node:8.9
environment:
- MIX_ENV: "test"
steps:
- checkout
- run:
name: Install Node Packages
command: yarn install
path: apps/my_cms_web/assets
- run:
name: Run Tests
command: yarn test
path: apps/my_cms_web/assets
...