我有一个非常基本的图像,在构建时会运行yarn命令(请参见下文)。在本地,这将创建node_modules
目录,并使用适当的软件包进行填充。也就是说,我的CircleCI构建中的“签出代码”步骤似乎正在覆盖所有内容,最终删除了已填充的node_modules目录。因此,诸如yarn jest
之类的后续命令会因“找不到命令”错误而失败。
我误会了吗?如果映像本身在构建时运行了该命令,那么我就不必在后续步骤中运行yarn
。
Dockerfile
FROM myimage
COPY package.json yarn.lock ./
RUN yarn
circleci / config.yml
version: 2
jobs:
build:
docker:
- image: myimage
steps:
- checkout
- run:
name: Run Jest
command: yarn jest
非常感谢您的帮助!