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
我有一个在线课程平台项目。树看起来像这样:
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