使用 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
中设置group
和version
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
我设法通过使用 Gradle 将我的工件发布到 Artifactory 中。 但版本始终未指定(示例-unspecified.jar)
如何将 groupId ="com.example" 和版本 'BUILD_NUMBER' 设置到 jenkins 中??
我想发布类似的东西 示例-10.jar(10 是 Jenkins 内部版本号,组:'com.example')
谢谢
您需要在build.gradle
group
和version
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