Установить версию проекта в Jenkins Pipeline с плагином Artifactory Gradle - PullRequest
0 голосов
/ 25 июня 2018

Мы хотим определить версию проекта для нашего проекта Gradle во время сборки нашего проекта в конвейере Jenkins, который будет включать метку времени и 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 для публикации, но я не могу найти способ установить / переопределить версию проекта. Я хочу, чтобы банка была опубликована с версией 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, чтобы пропустить тесты на этом этапе.

1 Ответ

0 голосов
/ 25 июня 2018

Очевидно, вы можете добавить параметры через параметр switches: https://jenkins.io/doc/pipeline/steps/artifactory/

При этом вы добавляете необходимые параметры, такие как '-x test -Pversion=' + version

Для моего случая использования я добавил свойство version в свой build.gradle : version = "${version}", чтобы его можно было переопределить с помощью приведенной выше команды.

...