簡體   English   中英

Gitlab CI - 如何在當前構建之前構建本地maven依賴項?

[英]Gitlab CI - how to build a local maven dependency before the current build?

我有以下設置:

  • Java庫1
  • Java庫2
  • Java應用程序

“Java應用程序”依賴於“Java Library 1”和“Java Library 2”,它們都是內部的。

在成功編譯和打包“Java應用程序”之前,需要在本地maven存儲庫上安裝“Java Library 1”和“Java Library 2”。

“Java Library 1”,“Java Library 2”和“Java application”是GitLab上的獨立項目。

每個項目都有一個.gitlab-ci.yml。

每個“Java庫”都有這樣的東西:

build:
    script:
        - mvn clean install
    stage: build
    only:
        - master
    tags:
        - java

我想告訴“Java應用程序”中的.gitlab-ci.yml,首先構建“Java Library 1”和“Java Library 2”。

可能嗎?

我想你正在尋找多項目管道

多項目管道圖對於大型項目非常有用,特別是那些采用微服務架構的項目,這些項目通常具有一組相互依賴的組件,這些組件構成了完整的產品。

在此輸入圖像描述

關於gitlab上的多項目構建還有一個討論: https ://gitlab.com/gitlab-org/gitlab-ce/issues/4194

如果您使用Gitlab Enterprise Edition,我建議使用dbrekelmans的解決方案。

也就是說,另一種可能性是設置工件服務,例如Artifactory,讓maven使用服務的回購。

使用案例:

  • 開發Libary
  • 將代碼推送到Gitlab
  • CI構建和部署libary
  • 在工作站和CI服務器上使用帶有maven的libary

可以在此處找到如何實現這一目標的教程: https//docs.gitlab.com/ee/articles/artifactory_and_gitlab/

暫無
暫無

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

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