Как использовать gitlab ci, чтобы проверить, можно ли построить проект java maven и запустить его на нескольких платформах jdks? - PullRequest
1 голос
/ 11 марта 2020

В некоторых других CI, например, с Travis, он поддерживает тест нескольких JDK (например, https://blog.travis-ci.com/support_for_multiple_jdks).

Однако я не уверен, как я могу сделать это под GitLab ci.

Предположим, у меня есть проект java, я хочу убедиться, что этот проект может как собираться, так и запускаться правильно под jdk8 и jdk11, как я могу это сделать в Gitlab CI?

Большое спасибо!

1 Ответ

0 голосов
/ 11 марта 2020

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

Все зависит от того, какие ресурсы у вас есть и чего вы хотите достичь.

...