使用机器执行器时出现 circleci 权限被拒绝错误

circleci permission denied error when using machine executor

我想使用机器执行器,这样我就可以 运行 使用 docker-compose 进行一些组件测试。我的工作流程在结帐步骤失败并抛出此错误:Making checkout directory "/opt/my-app" Error: mkdir /opt/my-app: permission denied

这是我工作流程中 component_test 阶段的 yaml:

component_test:
  machine: true
  working_directory: /opt/my-app
  steps:
    - checkout

如果我使用 docker 而不是机器执行器,那么我不会遇到任何权限问题:

component_test:
  machine: true
  working_directory: /opt/my-app
  steps:
    - checkout

但是,我希望能够使用 docker-compose,因此需要能够 运行 机器执行器。有没有人见过这样的权限问题?

您需要将工作目录更改为 /home/circleci 中的内容,或者完全排除它,因为它是可选的。

现在,circleci 用户运行 checkout 步骤,该步骤无权 git 克隆到您选择的工作目录。

此外,我不会使用 machine: true,因为它已被弃用。指定图像:https://circleci.com/docs/2.0/configuration-reference/#available-machine-images