使用 Artifactory Gradle 插件在 Jenkins Pipeline 中设置项目版本
Set project version in Jenkins Pipeline with the Artifactory Gradle plugin
我们想在 Jenkins 管道中构建项目期间为 Gradle 项目定义项目版本,其中将包括时间戳和 git-commit-id。 (20180625180158-b8ad8df0dc0356a91707eaa241de7d62df6a29f2)
void defineVersion() {
sh "git rev-parse HEAD > .git/commit-id"
commitId = readFile('.git/commit-id')
timestamp = getCurrentTimestamp()
version = timestamp+'-'+commitId
}
此函数将确定我要发布工件的版本。
接下来我使用ArtifactoryGradle插件发布,但是找不到set/override项目版本的方法。我希望发布的 jar 版本为 20180625180158-b8ad8df0dc0356a91707eaa241de7d62df6a29f2
version = defineVersion() // how can we incorperate this version in our gradle build/publish?
gradleBuild = Artifactory.newGradleBuild()
gradleBuild.useWrapper = true
gradleBuild.deployer(
repo: env.BRANCH_NAME == 'master' ? 'libs-releases-local' : 'libs-snapshots-local',
server: Artifactory.server('artifactory-global'))
gradleBuild.run tasks: 'clean build artifactoryPublish'
我们怎样才能做到这一点?另外,我想将 -x test 等其他参数传递给 运行 命令以跳过此阶段的测试。
显然您可以通过 switches
参数添加参数:https://jenkins.io/doc/pipeline/steps/artifactory/
有了这个,你可以添加必要的参数,比如 '-x test -Pversion=' + version
对于我的用例,我添加了一个版本 属性 到我的 build.gradle: version = "${version}"
所以它可以被上面的命令覆盖.
我们想在 Jenkins 管道中构建项目期间为 Gradle 项目定义项目版本,其中将包括时间戳和 git-commit-id。 (20180625180158-b8ad8df0dc0356a91707eaa241de7d62df6a29f2)
void defineVersion() {
sh "git rev-parse HEAD > .git/commit-id"
commitId = readFile('.git/commit-id')
timestamp = getCurrentTimestamp()
version = timestamp+'-'+commitId
}
此函数将确定我要发布工件的版本。 接下来我使用ArtifactoryGradle插件发布,但是找不到set/override项目版本的方法。我希望发布的 jar 版本为 20180625180158-b8ad8df0dc0356a91707eaa241de7d62df6a29f2
version = defineVersion() // how can we incorperate this version in our gradle build/publish?
gradleBuild = Artifactory.newGradleBuild()
gradleBuild.useWrapper = true
gradleBuild.deployer(
repo: env.BRANCH_NAME == 'master' ? 'libs-releases-local' : 'libs-snapshots-local',
server: Artifactory.server('artifactory-global'))
gradleBuild.run tasks: 'clean build artifactoryPublish'
我们怎样才能做到这一点?另外,我想将 -x test 等其他参数传递给 运行 命令以跳过此阶段的测试。
显然您可以通过 switches
参数添加参数:https://jenkins.io/doc/pipeline/steps/artifactory/
有了这个,你可以添加必要的参数,比如 '-x test -Pversion=' + version
对于我的用例,我添加了一个版本 属性 到我的 build.gradle: version = "${version}"
所以它可以被上面的命令覆盖.