让我在部分中分解我的问题陈述
我有什么:
1)一个bitbucket存储库,比如CentralCodebase,其uri是 - ssh://git@bitbucket.org/centralCodebase.git
2)已经配置了Jenkins,比如说https://jenkinsURL/jobs
。我在那里配置了一个 J 作业,它指向使用ssh uri的CentralCodebase repo的主版本,如第1点所述。
3)我还配置了bitbucket post commit hook,以便在存储库中存在提交时触发我的jenkins作业。
4)我已经配置了PMD / Checkstyle / FindBugs / Cobertura / Jacoco插件,它们的阈值也在作业中配置。
这种设置非常有效。每当有提交时,由于挂钩而自动构建触发器,或者任何人通过单击Jenkins UI上的立即构建按钮手动触发它。如果所有测试用例都被传递并且代码覆盖率和PMD(等)阈值没有被破坏,则传递构建,否则失败。
我需要什么:
假设我在主代码库中创建了一个工作分支 B ,以便在我的本地进行一些更改。我想做这样的事情 -
我想触发jenkins作业J(点2,通过命令或eclipse插件,而不是通过点击jenkins UI中的Build now按钮),这样J应该构建B(在我的本地分支,而不是它指向的主版本)通过应用所有覆盖和代码插件配置。
为什么我需要这个:
这样我就可以检查我的更改是否破坏了任何测试用例或PMD / Checkstyle / FindBugs / coverage阈值。如果失败,我可以通过在本地构建代码并使用相同的jenkins作业配置来修复代码并再次检查状态,而无需触及现有的实时作业配置。否则,我将首先提交我的更改,然后在作业配置中更改分支名称,然后更改构建触发器
的 PS:
我正在使用ANT,它无法更改为maven。截至目前,当我在本地构建更改时,它会运行测试用例,生成代码覆盖率但不应用Jenkins应用的阈值标准。如果新的更改破坏了PMD阈值或者像Jenkins那样降低了最小代码覆盖率阈值,那么它不会失败
我在寻找什么:
基本上,我正在寻找一个eclipse插件来做到这一点。但任何事都行不通。
我在谷歌上搜索,但找不到任何有用的东西。以下是我遵循的一些资源 -
Can Jenkins build Eclipse projects?
how to make jenkins use an already checked out codebase?
我还查看了Mylyn插件,其configuration,How do I configure mylyn jenkins?没有帮助。