CircleCI - 如何在子目录中构建和测试?

CircleCI - How to build and test in a sub directory?

我有一个在线课程平台项目。树看起来像这样:

app
-- edxapp
   -- edx-platform
      -- circle.yml

我想 运行 edx-platform 目录中的 circle.yml。我遵循了他们的文档 here.

首先,我在根目录中新建了一个circle.yml,树形如下:

circle.yml
app
-- edxapp
   -- edx-platform
      -- circle.yml

新的 circle.yml 包含以下内容:

general:
  build_dir: app/edxapp/edx-platform

但是,还是不行。然后我尝试了另一种方法。我链接了 circle.yml 文件,这样我在每个目录中都有一个 circle.yml。每个 circle.yml 仅包含 build_dir 键,其值指向下一个子目录。

请解释为什么这不起作用。另外,请给我一个替代方法。

注意:项目结构必须相同。

circle.yml 需要在存储库的根目录中。 CircleCI 不会处理任何其他位置的文件。您需要做的任何事情(任何命令等)都需要从该根文件中完成。

build-dir 更改来自 circle.yml 的命令来自 运行 的位置,而不是文件应位于的位置。本质上,无论哪个目录设置为 build-dir,它都会成为 circle.yml 中命令的工作目录。 CircleCI Docs.

中有更多详细信息

总而言之,在您的存储库的根目录中只有 1 个 circle.yml 目录。如果您有命令 ls,这将打印 ~/MY-REPO-NAME 的目录列表。如果将 build-dir 设置为:

general:
  build_dir: app/edxapp/edx-platform

然后相同的 ls 命令现在将打印 ~/MY-REPO-NAME/app/edxapp/edx-platform 的目录列表。

此致,
里卡多·费利西亚诺
开发布道者,CircleCI