6.1. Publishing with the Maven-publish Plugin

스프링 부트 jar 또는 war를 게시하려면, MavenPublication의 아티팩트(artifact) 메서드를 사용하여 게시에 추가해보자. 게시하려는 아티팩트를 생성하는 태스크를 아티팩트 메서드에 전달한다. 예를 들어, 기본 bootJar 태스크에서 생성된 아티팩트를 게시하려면 다음을 수행한다:

Groovy

  publishing {
    publications {
      bootJava(MavenPublication) {
        artifact tasks.named("bootJar")
      } 
    }
    repositories {
      maven {
        url 'https://repo.example.com'
      }
    } 
  }

Kotlin

  publishing {
    publications {
      create<MavenPublication>("bootJava") {
        artifact(tasks.named("bootJar"))
      } 
    }
    repositories {
      maven {
        url = uri("https://repo.example.com")
      }
    } 
  }

6.2. Publishing with the Maven Plugin

그레이들 6에서 더 이상 사용되지 않기(deprecation) 때문에, 그레이들의 maven 플러그인을 사용한 게시는 더 이상 지원되지 않으며 향후 릴리스에서 제거될 예정이다. 대신 maven-publish 플러그인을 사용하자.

maven plugin이 적용되면, bootArchives 구성에 대한 uploadBootArchives라는 Upload 태스크가 자동으로 생성된다. 기본적으로, bootArchives 구성에는 bootJar 또는 bootWar 태스크에서 생성된 압축파일이 포함된다. 압축파일을 메이븐 리포지터리에 게시하도록 uploadBootArchives 태스크를 구성할 수 있다:

Groovy

  tasks.named("uploadBootArchives") {
    repositories {
      mavenDeployer {
          repository url: 'https://repo.example.com'
      } 
    }
  }

Kotlin

  tasks.named<Upload>("uploadBootArchives") {
    repositories.withGroovyBuilder {
      "mavenDeployer" {
        "repository"("url" to "https://repo.example.com")
      }   
    }
  }

6.3. Distributing with the Application Plugin

application 플러그인이 적용되면 boot라는 배포판이 생성된다. 이 배포판에는 bootJar 또는 bootWar 태스크로 생성된 압축파일과 유닉스 계열 플랫폼 및 윈도우에서 실행하기 위한 스크립트가 포함되어 있다. Zip 및 tar 배포판은 각각 bootDistZipbootDistTar 태스크로 빌드할 수 있다. application 플러그인을 사용하려면, mainClassName 프로퍼티를 애플리케이션의 메인 클래스 이름으로 구성해야 한다.