繁体   English   中英

使用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
}

该函数将确定我要用来发布工件的版本。 接下来,我使用Artifactory Gradle插件进行发布,但是找不到设置/覆盖项目版本的方法。 我希望该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)传递给run命令以跳过测试。

显然,你可以添加参数通过量的switches参数: https://jenkins.io/doc/pipeline/steps/artifactory/

这样,您就可以添加必要的参数,例如'-x test -Pversion=' + version

对于我的用例,我在build.gradle中添加了一个version属性: version = "${version}"因此可以用上面的命令覆盖它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM