Maven 我是否可以轻松地从Mvn(故障保护插件)针对分支的不同版本运行集成测试?
假设我的mvn项目发布了一个主要版本 主干是版本2,我有一个版本为1的分支。我想允许开发人员在主干上自由编辑测试,但我也希望保持从版本2到版本1的向后兼容性。是否有一种简单的方法可以针对版本2源代码运行版本1分支集成测试。我正在考虑编译和移动测试jar(不确定这是否可行),但这看起来很难看。。。。为了澄清,单元测试类用Maven 我是否可以轻松地从Mvn(故障保护插件)针对分支的不同版本运行集成测试?,maven,jenkins,integration-testing,bamboo,maven-failsafe-plugin,Maven,Jenkins,Integration Testing,Bamboo,Maven Failsafe Plugin,假设我的mvn项目发布了一个主要版本 主干是版本2,我有一个版本为1的分支。我想允许开发人员在主干上自由编辑测试,但我也希望保持从版本2到版本1的向后兼容性。是否有一种简单的方法可以针对版本2源代码运行版本1分支集成测试。我正在考虑编译和移动测试jar(不确定这是否可行),但这看起来很难看。。。。为了澄清,单元测试类用test.java表示,其中as集成测试用IT.java表示。我只想运行集成测试 我最好能像这样做 mvn integration-tests -Dfailsafe.plugin.
test.java
表示,其中as集成测试用IT.java
表示。我只想运行集成测试
我最好能像这样做
mvn integration-tests -Dfailsafe.plugin.src="branch/version1".
或者,Jenkins或Atlassian竹插件也可以工作。在执行
mvn failsafe:integration test
之前,只需切换分支即可。这是常见的模式
Maven Failsafe插件不支持切换分支,也不支持版本控制系统(VCS)——这很好,因为这是另一个插件的职责
在Jenkins等工具中切换分支很容易。每个分支创建一个作业,对分支中代码的更改将触发jenkins构建。Jenkis支持私有maven存储库,这将有助于解决工件冲突。还可以与第二个作业共享第一个作业的工作区(结果)
在您的案例中,在jenkins中构建作业管道,在主任务的第一个作业之后,从分支执行作业以验证集成测试。到目前为止,我看到的最好的想法是切换版本控制系统,然后只运行集成测试 步骤
- 如果在此阶段运行mvn集成测试,您将重建项目,从而测试分支/旧版本
我已经编写了这个代码,并针对svn/mvn/jenkins stack进行了测试,VSC是GIT、svn、CVS、Mercurial、Bazaar……?我正在发布一个svn解决方案的答案。我相信它同样适用于git和其他产品,你能详细说明一下吗?在本地签出中切换分支?使用自定义bash脚本或哪个插件?最好使用
mvn verify
,否则您不会运行post integration
阶段,这一阶段通常很有用,并且由不同的插件使用。tgprog,在您的情况下,创建两个jenkins作业,第一个用于master,第二个用于branch。@MariuszS有正确的想法,谢谢。你刚才说要运行mvn集成测试,你需要mvn故障保护:集成测试来运行集成测试这不是MariuszS已经回答过的同一件事吗?这应该也可以:)不,类似,但这可以在一个jenkins工作中完成。我的解决方案需要两份工作。