Gitlab CI/CD 管道。推入某个文件夹执行相关阶段
Gitlab CI/CD pipeline. Push in some folder executes related stage
我有 C
学习者的存储库。我的目标是当有人推送一些代码时,这段代码将被测试。我的回购协议中有几个文件夹 - 每个任务的每个文件夹。现在,当有人推动时,我可以构建和测试所有文件夹中的所有作业。我只想测试被推送的作业。
例如:
我的存储库中有 3 个文件夹:
-Task1
-Task2
-Task3
当有人推动我构建所有任务并测试它们时。
我想要什么:如果有人只推送 Task1,那么我只想编译和测试 Task1 而不是整个 repo。这可能吗?告诉我是否需要提供更多信息。
这应该可以使用 Gitlab CI 的 only:changes 功能。您可以指定一个目录,其中的更改将触发作业。
示例:
task_1_test:
script: <compile & run test for this directory>
only:
changes:
- Task1/*.{c,cc,cpp,o,h}
默认情况下,该作业将在推送事件上触发,该事件包含对目录 Task1 中扩展名为 c、cc、cpp、o、h 的文件进行更改的提交。
希望对您有所帮助
我有 C
学习者的存储库。我的目标是当有人推送一些代码时,这段代码将被测试。我的回购协议中有几个文件夹 - 每个任务的每个文件夹。现在,当有人推动时,我可以构建和测试所有文件夹中的所有作业。我只想测试被推送的作业。
例如:
我的存储库中有 3 个文件夹:
-Task1
-Task2
-Task3
当有人推动我构建所有任务并测试它们时。
我想要什么:如果有人只推送 Task1,那么我只想编译和测试 Task1 而不是整个 repo。这可能吗?告诉我是否需要提供更多信息。
这应该可以使用 Gitlab CI 的 only:changes 功能。您可以指定一个目录,其中的更改将触发作业。 示例:
task_1_test:
script: <compile & run test for this directory>
only:
changes:
- Task1/*.{c,cc,cpp,o,h}
默认情况下,该作业将在推送事件上触发,该事件包含对目录 Task1 中扩展名为 c、cc、cpp、o、h 的文件进行更改的提交。
希望对您有所帮助