Один из способов сделать это - определить конвейерные задания с разными изображениями с необходимыми зависимостями. Вы можете использовать любые изображения c из 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.
Все зависит от того, какие ресурсы у вас есть и чего вы хотите достичь.