[英]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.