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

时间:2017-06-24 15:41:50

标签: python symfony continuous-integration circleci openedx

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

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键,其值指向下一个子目录。

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

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

1 个答案:

答案 0 :(得分:2)

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

build-dir更改来自circle.yml的命令的运行位置,而不是文件的位置。实质上,无论哪个目录设置为build-dir,它都将成为circle.yml中命令的工作目录。 CircleCI Docs中的更多详细信息。

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

general:
  build_dir: app/edxapp/edx-platform

然后,相同的ls命令将打印~/MY-REPO-NAME/app/edxapp/edx-platform

的目录列表

的问候,
里卡多N费利西亚诺
开发者传播者,CircleCI