我应该如何知道在 Jenkins 中的 Gradle 构建上设置什么类路径?

我应该如何知道在 Jenkins 中的 Gradle 构建上设置什么类路径?

我主要从事 DevOps 工作。我正在为一个团队设置 Jenkins。他们有一个 Kotlin 项目,他们正在本地机器上使用 Gradle 进行构建。我从未使用过 Kotlin 或 Gradle,但我使用过 Java。

代码会为他们编译。他们使用 shadowjar 插件,因此他们创建了一个 uberjar。我只需要在我为他们设置的新 Jenkins 服务器上运行它即可。

如果我通过 ssh 连接到 Jenkins 服务器(我刚刚使用 Terraform 设置的全新 AWS EC2)并且我使用 git clone 来克隆 repo(只是为了调试在此服务器上构建所需的内容),我可以这样做:

gradle build

我得到:

:buildEnvironment

------------------------------------------------------------
Root project
------------------------------------------------------------

classpath
No dependencies

BUILD SUCCESSFUL

Total time: 0.742 secs

所以我想也许它想让我设置类路径?类路径应该是什么?

这个文件:

cat build.gradle.kts

看起来相当完整,并且似乎拥有一切:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

plugins {
    application
    id ("org.jetbrains.kotlin.jvm") version "1.3.10"
    id("com.github.johnrengelman.shadow") version "4.0.3"
}

group = "com.sugar"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
    jcenter()
    maven("https://kotlin.bintray.com/kotlinx")
}

dependencies {
    compile("org.jetbrains.exposed:exposed:0.11.2")
    compile("org.jetbrains.kotlin:kotlin-reflect:1.3.10")
    compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    compile("org.apache.kafka:kafka-clients:2.1.0")
    compile("org.postgresql", "postgresql", "42.2.5")
    implementation("com.github.ajalt:clikt:1.5.0")
    implementation("com.google.firebase:firebase-admin:6.5.0")
    implementation("com.squareup.moshi:moshi:1.8.0")
    implementation("com.squareup.moshi:moshi-kotlin:1.8.0")
}

tasks.withType<KotlinCompile> {
    kotlinOptions.jvmTarget = "1.8"
}

application {
    mainClassName = "bees.BeesKt"
}

tasks.withType<ShadowJar> {
    baseName = "bees.fat"
    classifier = ""
    version = ""
} 

我确实读过像这样的安装指南:

https://spring.io/guides/gs/gradle/#scratch

但是它们都很长并且没有回答我的任何基本问题。

欢迎任何帮助!

相关内容