有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Gitlab CI如何在当前构建之前构建本地maven依赖关系?

我有以下设置:

  • Java库1
  • Java库2
  • Java应用程序

“Java应用程序”依赖于“Java库1”和“Java库2”,它们都是内部的

在成功编译和打包“Java应用程序”之前,“Java库1”和“Java库2”需要安装在本地maven存储库中

“Java库1”、“Java库2”和“Java应用程序”是GitLab上的独立项目

每一个项目都有一个目标。gitlab ci。yml

每个“Java库”都有如下内容:

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

我想告诉你。gitlab ci。yml从“Java应用程序”首先构建“Java库1”和“Java库2”

可能吗


共 (2) 个答案

  1. # 1 楼答案

    如果您使用Gitlab Enterprise Edition,我建议您使用dbrekelmans的解决方案

    也就是说,另一种可能性是设置一个工件服务,比如Artifactory,并让maven使用该服务的repo

    用例:

    • 发展图书馆
    • 将代码推送到Gitlab
    • CI构建并部署库
    • 在工作站和CI服务器上与maven一起使用libary

    有关如何实现这一点的教程,请参见: https://docs.gitlab.com/ee/articles/artifactory_and_gitlab/

  2. # 2 楼答案

    我想你在找Multi Project Pipelines

    Multi-project pipeline graphs are useful for larger projects, especially those adopting a microservices architecture, that often have a set of interdependent components which form the complete product.

    enter image description here

    这里还有一个关于在gitlab上构建多项目的讨论:https://gitlab.com/gitlab-org/gitlab-ce/issues/4194