Continuous integration Gitlab CI/CD管道。推入某个文件夹执行相关阶段

Continuous integration Gitlab CI/CD管道。推入某个文件夹执行相关阶段,continuous-integration,gitlab,gitlab-ci,gitlab-ci-runner,Continuous Integration,Gitlab,Gitlab Ci,Gitlab Ci Runner,我有C学习者的知识库。我的目标是当有人推送一些代码时,这些代码将被测试。我的repo中有几个文件夹-每个文件夹用于每个任务。现在,当有人按下按钮时,我可以创建并测试所有文件夹中的所有分配。我只想测试推送的作业。 例如: 我的回购中有3个文件夹: -Task1 -Task2 -Task3 当有人推我时,我构建所有任务并测试它们 我想要的是:如果有人只推Task1,那么我只想编译和测试Task1,而不是整个repo。这可能吗?如果需要提供更多信息,请告诉我。这应该可以使用Gitlab CI的功能。

我有
C
学习者的知识库。我的目标是当有人推送一些代码时,这些代码将被测试。我的repo中有几个文件夹-每个文件夹用于每个任务。现在,当有人按下按钮时,我可以创建并测试所有文件夹中的所有分配。我只想测试推送的作业。 例如:

我的回购中有3个文件夹:

-Task1
-Task2
-Task3
当有人推我时,我构建所有任务并测试它们


我想要的是:如果有人只推Task1,那么我只想编译和测试Task1,而不是整个repo。这可能吗?如果需要提供更多信息,请告诉我。

这应该可以使用Gitlab CI的功能。您可以指定一个目录,其中的更改将触发作业。 例如:

任务1\u测试:
脚本:
仅:
变化:
-Task1/*.{c,cc,cpp,o,h}
然后,默认情况下,该作业将在一个推送事件上触发,该事件包含对目录Task1中扩展名为c、cc、cpp、o、h的文件进行更改的提交


希望这对您有所帮助

这应该可以使用Gitlab CI的功能。您可以指定一个目录,其中的更改将触发作业。 例如:

任务1\u测试:
脚本:
仅:
变化:
-Task1/*.{c,cc,cpp,o,h}
然后,默认情况下,该作业将在一个推送事件上触发,该事件包含对目录Task1中扩展名为c、cc、cpp、o、h的文件进行更改的提交

希望这有帮助

task_1_test:
  script: <compile & run test for this directory>
  only:
    changes:
      - Task1/*.{c,cc,cpp,o,h}