簡體   English   中英

如何在 gitlab-ci docker 中構建期間提取共享庫?

[英]How to pull shared library during build in gitlab-ci docker?

我有一個簡單的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-repository 中?

這是我的主項目中的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: ...

旁注:我知道我可以設置一個像nexus這樣的本地共享存儲庫管理器,但我想避免這種情況,只需將公共依賴項添加到構建過程中即可。

您可以構建自己的映像並在 gitlab-ci 中使用它。

Dockerfile 示例:

FROM adoptopenjdk/maven-openjdk11

RUN mvn clean install

# ... other stuff

在構建映像並將其推送到 docker hub 之后,您可以在 gitlab-ci 中使用它。

有用的鏈接:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM