Как вытащить разделяемую библиотеку во время сборки в gitlab-ci docker? - PullRequest
0 голосов
/ 20 января 2020

У меня есть простой gitlab-ci конвейер. Теперь я хочу добавить maven зависимость к библиотеке, которую я хочу разделить между различными проектами, например, мой основной проект определяет:

<dependencies>
    <dependency>
        <groupId>my.projects</groupId>
        <artifactId>my-commons</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

my-commons - это также проект в моем gitlab .

Вопрос: как я могу вызвать mvn clean install в ci-репозиторий на этой общей зависимости во время сборки моего основного проекта?

Это мой gitlab-ci из основного проекта:

image: adoptopenjdk/maven-openjdk11

#TODO how to trigger a mvn clean install on my-commons?

test:
  stage: test
  script: mvn test -B

build:
  stage: build
  script: mvn package -B -Dmaven.test.skip=true
  artifacts:
    paths:
    - target/*.jar

deploy:
  stage: deploy
  script: ...

Sidenote: Я знаю, что могу настроить локальный менеджер общих репозиториев, например nexus, но я бы хотел этого избежать и просто добавить общую зависимость в процесс сборки.

1 Ответ

0 голосов
/ 20 января 2020

Вы можете создать свой собственный образ и использовать его по адресу gitlab-ci.

Пример Dockerfile:

FROM adoptopenjdk/maven-openjdk11

RUN mvn clean install

# ... other stuff

после того, как вы создадите свой образ и вставите его в sh docker хаб, вы можете использовать его внутри вашего gitlab-ci.

полезные ссылки:

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