0

我想使用机器执行器,以便可以使用 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,因此需要能够运行机器执行程序。有没有人见过这样的权限问题?

4

1 回答 1

1

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

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

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

于 2020-10-07T16:28:22.023 回答