Общий Maven репозиторий для GitLab CI - PullRequest
0 голосов
/ 23 мая 2019

Я надеюсь, что кто-то может помочь мне с простой настройкой сценариев maven CI для GitLab.

Я попытался выполнить поиск в stackoverflow и в Google, что привело к нескольким вопросам и ответам, но либо они кажутся совершенно разными, либо я их не понимаю.

У меня есть простая настройка двух проектов. project B зависит от project A (= упаковка pom).

У меня в конфигурации бегуна /etc/gitlab-runner/config.toml строка с добавленными томами

[[runners]]
...
  [runners.docker]
  ...
   volumes = ["/cache", "/.m2"]
  ...

my .gitlab-ci.yml для обоих проектов выглядит так

image: maven:3.6.1-jdk-12

cache:
  paths:
    - /.m2/repository
    - target/

variables:
  MAVEN_OPTS: "-Dmaven.repo.local=/.m2/repository"

maven_job:
  script:
    - mvn clean install

с этим - первый проект собирается правильно, и я вижу, что кэширование работает, так как он не загружает все связанные с maven плагины для сборки проекта, когда выполняется снова и снова.

В нем также говорится

[INFO] Installing /builds/end2end/projectA/pom.xml to /.m2/repository/de/end2end/projectA/0.4.4-SNAPSHOT/projectA-0.4.4-SNAPSHOT.pom

Он сообщает, хотя в конце

WARNING: /.m2/repository: not supported: outside build directory 
WARNING: /.m2/repository/classworlds: not supported: outside build directory 
WARNING: /.m2/repository/classworlds/classworlds: not supported: outside build directory 
WARNING: /.m2/repository/classworlds/classworlds/1.1-alpha-2: not supported: outside build directory 
WARNING: /.m2/repository/classworlds/classworlds/1.1-alpha-2/_remote.repositories: not supported: outside build directory 
[...]

При выполнении projectB задание не выполняется с информацией, которую он не может найти projectA.

Итак - что не так с конфигурацией файлов runner / .gitlab-ci.yml?

Я пытался

cache:
  paths:
    - .m2/repository

, который удаляет предупреждения, но затем проект A получает локально .m2 установлен

[INFO] Installing /builds/end2end/projectA/pom.xml to /builds/end2end/projectAt/.m2/repository/de/end2end/projectA/0.4.4-SNAPSHOT/projectA-0.4.4-SNAPSHOT.pom

и projectB завершаются с той же ошибкой, что и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...