1

说我的mvn项目有一个主要版本发布。我可以轻松地针对不同版本的分支运行Mvn(Failsafe Plugin)的集成测试吗?

因此主干是版本2,我有一个版本1的分支。我想让开发人员可以自由编辑主干上的测试,但我也想保持从版本2到1的向后兼容性。对版本2源代码运行版本1分支集成测试的方法。我正在考虑编译和移动测试罐(不知道这是否会起作用),但这看起来很难。只是为了澄清,单元测试类用Test.java表示,其中集成测试用IT.java表示。我只想运行集成的测试

我想最好能像

mvn integration-tests -Dfailsafe.plugin.src="branch/version1". 

运行的东西或者,詹金斯或Atlassian的竹插件会工作。

+0

而VSC是GIT,SVN,CVS,水银,集市....? – MariuszS

+0

我正在发布一个SVN解决方案的答案。我相信它适用于git和其他人以及 –

回答

2

只需在执行mvn failsafe:integration-test之前切换分支。这是常见的模式。

Maven Failsafe插件不支持切换分支,也不支持版本控制系统(VCS) - 这很好,因为这个其他插件是负责任的。

这很容易切换Jenkins等工具的分支。每个分支创建一个作业,对分支中代码的更改应该触发jenkins构建。 Jenkis支持私有Maven仓库,这将有助于产生神器碰撞。也可以将第一份工作与第二份工作共享工作空间(结果)。

在您的案例中,在jenkins中创建作业管道后,首先从主分区执行作业以验证集成测试。

+0

你能详细说明吗?在本地退房切换分支?使用自定义的bash脚本或哪个插件? – tgkprog

+1

更好的使用'mvn verify',否则你不会运行后期整合阶段,这个阶段对于不同的插件来说很有用。 – khmarbaise

+0

tgprog,在你的情况下,创建两个jenkins作业,第一个为主,第二个为分支。 – MariuszS

1

到目前为止,我见过的最好的想法是在版本控制系统上进行切换,然后运行集成测试。

步骤

  1. SVN CO中继
  2. MVN全新安装
  3. SVN开关分支
  4. MVN故障安全:集成测试
    • 如果您在本MVN集成测试阶段你将重建项目,你将因此测试你的分支/旧版本

我已经编写这并测试它反对SVN/MVN /詹金斯堆栈

+0

是不是已经和MariuszS已经回答的那样? – eis

+0

这应该也适用:)不,类似但这可以在一个jenkins工作中完成。我的解决方案需要两份工作 – MariuszS

相关问题