使用 gradle 的 Artifactory jenkins 集成

Artifactory jenkins Integration using gradle

我设法通过使用 Gradle 将我的工件发布到 Artifactory 中。 但版本始终未指定(示例-unspecified.jar)

如何将 groupId ="com.example" 和版本 'BUILD_NUMBER' 设置到 jenkins 中??

我想发布类似的东西 示例-10.jar(10 是 Jenkins 内部版本号,组:'com.example')

谢谢

您需要在build.gradle

中设置groupversion
apply plugin: "java"

group = 'com.company.blah'
version = project.hasProperty('build_number') ? project.properties['build_number'] : '0.1'

然后构建将产生类似 "$project.name-${project.version}.jar"

的工件

group 被 maven 用来组织工件,是依赖符号中的第一项 "$project.group:$project.name:$project.version"

所以如果我们在没有任何参数的情况下构建它会产生 blah-0.1.jar 如果我们使用参数 build_number 构建,它将分配提供的版本。

例如:gradlew clean build -Pbuild_number=10会产生blah-10.jar

BUILD_NUMBER 由 Jenkins 通过环境变量填充。如果您想从 Gradle 脚本访问它,您可以按如下方式进行:

def buildNumber = System.getenv("BUILD_NUMBER")

然后在您的人工发布代码中使用 buildNumber 变量。

至于groupId,我真的不明白那里的问题是什么。它在 Jenkins 构建期间不会改变,是吗?所以你可以在你的 gradle 脚本中硬编码它。

作为替代方案,您可以通过项目属性传递必要的信息:

./gradlew assemble -PgroupId=com.example -PbuildNumber=$BUILD_NUMBER