在Git、Gerrit和Jenkins工作流上执行特定于文件的测试

在Git、Gerrit和Jenkins工作流上执行特定于文件的测试,git,jenkins,gerrit,Git,Jenkins,Gerrit,SCM-Git, CI-詹金斯 我已经配置了Git、Gerrit&Jenkins工作流,并在Jenkins从机上配置了自动化套件 在Gerrit上创建补丁集后,我能够在从机上运行TestNG套件 但目前,对于Gerrit上创建的任何类型的补丁集,都会调用相同的测试套件。我想要实现的是根据推送到Gerrit中的文件名执行测试 例如,如果推送了login.jsp,则应执行登录测试,而不是整个测试套件 关于如何实现这一点,有什么建议吗?我目前思考的方向是,有没有办法通知从属服务器推送文件的名称?您可以

SCM-Git, CI-詹金斯

我已经配置了Git、Gerrit&Jenkins工作流,并在Jenkins从机上配置了自动化套件

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

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

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


关于如何实现这一点,有什么建议吗?我目前思考的方向是,有没有办法通知从属服务器推送文件的名称?

您可以使用Git查找被测试的提交修改的文件(或者与分支尖端相比修改的文件,无论什么都是最合适的)。比如说,

git diff-tree -r --name-only HEAD~1 HEAD

列出在当前签出提交中修改的文件的路径。

0;你为什么想要这个?jenkins的目的不就是构建整个项目,让您知道即使有了新的更改,它仍然可以工作吗?我认为您必须调用一个脚本,解析Changelog.xml作为路径,然后使用
调用您的新构建http://server/job/myjobname/buildWithParameters?PARM1=Value1&PARM2=Value2
。。。听起来好像有很多工作可能重复是的这是一个重复的问题。我不得不再问一次,因为之前没有人提到过。(我们很想知道重新发布问题的另一种方式)。现在让我好奇的是,整个测试套件可能会运行3-4个小时,如果-我不想在登录页面上做一些小的更改后运行整个套件。@Cole9350-如果您能详细说明您提出的建议,那将非常有帮助。我希望我的意图是明确的。。。提前谢谢