Automated tests 如何使用gitlab ci测试java maven项目是否可以在多个JDK平台下构建和运行?

Automated tests 如何使用gitlab ci测试java maven项目是否可以在多个JDK平台下构建和运行?,automated-tests,gitlab,gitlab-ci,Automated Tests,Gitlab,Gitlab Ci,在其他一些ci中,例如,使用Travis,它支持多个JDK测试(例如 但是,我不确定如何在GitLab ci下实现它 假设我有一个java项目,我想确保这个项目可以在jdk8和jdk11下正确构建和运行,我如何在Gitlab CI中做到这一点 非常感谢 一种方法是使用具有所需依赖关系的不同映像定义管道作业。您可以使用dockerhub中的任何公共图像。快速搜索后,我选择了yaml示例codenvy/jdk8\u maven3\u tomcat8(jdk8+maven)和appinair/jdk1

在其他一些ci中,例如,使用Travis,它支持多个JDK测试(例如

但是,我不确定如何在GitLab ci下实现它

假设我有一个java项目,我想确保这个项目可以在jdk8和jdk11下正确构建和运行,我如何在Gitlab CI中做到这一点


非常感谢

一种方法是使用具有所需依赖关系的不同映像定义管道作业。您可以使用
dockerhub
中的任何公共图像。快速搜索后,我选择了yaml示例
codenvy/jdk8\u maven3\u tomcat8
(jdk8+maven)和
appinair/jdk11-maven
(jdk11+maven),但我不确定它们是否适合您

tests\u jdk8:
图片:codenvy/jdk8\u maven3\u tomcat8
脚本:
- 
测试jdk11:
图片:appinair/jdk11 maven
脚本:
- 
如果可以对环境进行dockerize,则可以使用自定义图像。或者在脚本之前编写一些
,可以将项目需求安装到任何os docker映像中。将完美地反映现有的生产环境

如果您已经有了测试项目的实例,您可以始终将它们连接为Gitlab shell/docker runner,并在自定义runner上运行测试


这一切都取决于您拥有的资源以及您想要实现的目标。

实现这一点的一种方法是使用具有所需依赖关系的不同映像定义管道作业。您可以使用
dockerhub
中的任何公共图像。快速搜索后,我选择了yaml示例
codenvy/jdk8\u maven3\u tomcat8
(jdk8+maven)和
appinair/jdk11-maven
(jdk11+maven),但我不确定它们是否适合您

tests\u jdk8:
图片:codenvy/jdk8\u maven3\u tomcat8
脚本:
- 
测试jdk11:
图片:appinair/jdk11 maven
脚本:
- 
如果可以对环境进行dockerize,则可以使用自定义图像。或者在脚本之前编写一些
,可以将项目需求安装到任何os docker映像中。将完美地反映现有的生产环境

如果您已经有了测试项目的实例,您可以始终将它们连接为Gitlab shell/docker runner,并在自定义runner上运行测试

这一切都取决于你拥有什么资源以及你想要实现什么