Как сделать так, чтобы плагин Teamcity Artifactory вызывал bootJar вместо Jar in Gradle? - PullRequest
0 голосов
/ 14 сентября 2018

Мы используем Gradle 4.8.1 для генерации исполняемых jar-файлов Spring Boot. Это прекрасно работает на местном уровне. Однако мы используем Teamcity для публикации наших артефактов в Artifactory.

Проблема в том, что, насколько я понимаю, задача artifactoryPublish вызывает задачу jar в Gradle, которая загружает артефакты из архива. Таким образом, независимо от того, вызывает ли teamcity задачу «сборка», задачу «bootjar» или задачу «сборка», плагин артефакта в конце получает вывод задачи «jar» и публикует ее, тогда как мы Я хотел бы получить результат задачи "bootjar" (толстый кувшин) в артефакте.

Есть ли способ заставить artifactoryPublish запускать bootjar вместо jar? Или для задачи баночки также создать толстую банку? Или я должен рассмотреть другой подход?

Вот мой build.gradle из одного из подпроектов

plugins {
    id "org.springframework.boot" version "2.0.4.RELEASE"
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
}

apply plugin: 'java'

repositories {
    mavenCentral()
}

description = 'atlas-data-service'

// Dynamically insert TeamCity build number if available
if (hasProperty("teamcity")) {
    version = teamcity["build.number"]
    println "Release version with TeamCity build number passed into gradle is " + version
} else {
    // Take the default appVersion defined in top level build.gradle when building outside of TeamCity
    version = "$appVersion"
}

jar {
    baseName = 'data-service'
    enabled = true
}

bootJar {
    mainClassName = 'c.m.f.a.dataservice.AtlasDataServiceApplication'
    baseName = 'data-service'
    enabled = true
    classifier = 'boot'
}

dependencies {
...
}

1 Ответ

0 голосов
/ 22 июля 2019

Этот вопрос относится к прошлому году, но обновляется в случае, если кто-то еще ищет ту же проблему.

Я использовал плагин Maven-publish, чтобы выполнить работу.

https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#publishing-your-application-maven-publish

apply plugin: 'maven-publish'

publishing.publications {
    bootJava(MavenPublication) {
        artifact bootJar
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...