使用gradle的人工jenkins集成
我通过使用Gradle将我的工件发布到Artifactory中。 但是版本总是未指定的(例如unspecified.jar) 如何将groupId=“com.example”和版本“BUILD_NUMBER”设置为jenkins 我想发表类似的东西 example-10.jar(10是Jenkins构建编号,组:“com.example”)使用gradle的人工jenkins集成,jenkins,gradle,jenkins-plugins,artifactory,Jenkins,Gradle,Jenkins Plugins,Artifactory,我通过使用Gradle将我的工件发布到Artifactory中。 但是版本总是未指定的(例如unspecified.jar) 如何将groupId=“com.example”和版本“BUILD_NUMBER”设置为jenkins 我想发表类似的东西 example-10.jar(10是Jenkins构建编号,组:“com.example”) 谢谢您需要在build.gradle apply plugin: "java" group = 'com.company.blah' version =
谢谢您需要在
build.gradle
apply plugin: "java"
group = 'com.company.blah'
version = project.hasProperty('build_number') ? project.properties['build_number'] : '0.1'
然后构建将生成类似于“$project.name-${project.version}.jar”
组
由maven用来组织工件,并且是依赖关系表示法“$project.group:$project.name:$project.version”中的第一项
因此,如果我们不使用任何参数进行构建,它将生成blah-0.1.jar
如果我们使用参数build\u 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
谢谢如何更新版本号=内部版本号。我们需要把它从詹金斯传给格拉德尔。从jenkins看来,它看起来像是
/gradlew clean build-Pbuild\u number=$build\u number
非常感谢。这是可以添加到artifactory插件代码中的东西吗?:我有:buildInfo=rtGradle.run rootDir:“/dev test”,buildFile:'build.gradle',tasks:'clean artifactoryPublish',我看不到有以下内容:“-Pbuild\u number=$BUILD\u number”可以添加到那里