如何使用gradle使GitLab CI发布Spring Boot JAR?

时间:2018-08-12 03:27:49

标签: java spring-boot gradle gitlab-ci

我有一个Spring Boot项目,该项目使用gradle中的bootJar任务构建。它会生成一个可运行的____- 1.0-SNAPSHOT.jar文件。现在,我想利用GitLab CI来构建JAR并发布版本。

似乎没有明显的方法可以进行构建。我开始看researchgate gradle plugin。看起来很有希望,但有很多假设。

从GitLab CI中获取发布JAR的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

有几种方法可以从gitlab ci管道中获取发布的工件。

  1. 将其发布到Maven存储库(如果是私有的,则为私有存储库)
  2. 在管道中使用gitlab job artifact功能,以便您可以通过gitlab Web界面下载
  3. 从您的管道构建docker映像,然后将其从管道上传到docker注册表

这是示例.gitlab-ci.yml,它使用gitlab作业工件功能(假设使用了gradle包装器)

image: java:8-jdk

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

build:
  stage: build
  script:
    - ./gradlew assemble
  # define path to collect artifacts
  artifacts:
    paths:
      - build/libs/*.jar
    expire_in: 1 week
  only:
    - master

答案 1 :(得分:0)

Ruwanka提供了一个很好的答案,但是我认为现在有点过时了。 GitLab.com(和自托管)现在支持托管的Maven存储库,作为其Premium层的本机功能。

有关如何为私人或公共消费部署Java应用程序(JAR等)的更多信息,请参见:

https://docs.gitlab.com/ee/user/project/packages/maven_repository.html#gitlab-maven-repository-premium