我有C
个学习者的资料库。我的目标是当有人推送某些代码时,将对该代码进行测试。我的存储库中有几个文件夹-每个作业都有一个文件夹。现在,当有人按下时,我可以建立并测试所有文件夹中的所有分配。我只想测试已推送的作业。
例如:
我的仓库中有3个文件夹:
-Task1
-Task2
-Task3
当有人推动时,我会完成所有任务并测试所有任务。
我想要的是:如果有人只推送Task1,那么我只想编译和测试Task1,而不是整个仓库。这可能吗?告诉我是否需要提供更多信息。
答案 0 :(得分:2)
使用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的文件的更改的提交。
希望这会有所帮助