如何使用gitlab ci来测试一个java maven项目是否可以在多个jdk平台下构建和运行



在其他一些ci中,例如Travis,它支持多个JDK测试(例如https://blog.travis-ci.com/support_for_multiple_jdks)。

然而,我不确定如何在GitLab ci.下进行

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

非常感谢!

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

tests_jdk8:
image: codenvy/jdk8_maven3_tomcat8
script:
- <your mvn test/build script>
tests_jdk11:
image: appinair/jdk11-maven
script:
- <your mvn test/build script>

如果你可以固定化你的环境,你可以使用你的自定义图像。或者您编写一些before_script,它可以将您的项目需求安装到任何os docker映像中。将完美地反映现有的生产环境。

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

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

最新更新