如何根据SCM上提交的文件名在slave上执行测试脚本

时间:2014-03-18 11:44:32

标签: git jenkins testng gerrit

SCM - Git, CI - Jenkins

配置了Git,Gerrit& Jenkins工作流程并在jenkins slave上配置了自动化套件。

在Gerrit上创建补丁集后,我能够在奴隶机器上运行TestNG套件

但目前对于在Gerrit上创建的任何类型的补丁集都会调用相同的测试套件。我想要实现的是根据推入Gerrit的文件名执行测试

例如。如果推送 login.jsp ,则应执行登录测试,而不是完整的测试套件。

有关如何实现这一目标的任何提示?我目前正在考虑的方向是,有没有办法通知奴隶推送文件的名称?

1 个答案:

答案 0 :(得分:1)

有各种方法可以做到这一点。 您可以在Gerrit触发器插件的后续实现中触发路径。

在配置视图中有一个添加文件路径。

通过这种方式,您可以在不同的路径上触发不同的作业。

我过去所做的是在目录中有一个.information文件,我指定要添加哪些评论者,如果这个.information文件下面的文件发生了变化,那么要执行哪些测试用例,然后执行特定的脚本。

您可以使用git log -1 --name-status

找到在提交中修改的文件