【发布时间】:2016-08-25 08:52:44
【问题描述】:
我正在尝试使用 groovy 构建脚本将我的构建管道迁移到“管道插件”。
我的管道通常是:
- 测试(gradle)
- IntegrationTest (gradle)
- 构建(gradle)
- 发布(人工)
我想在我的 jenkins 构建脚本中使用版本/组等 gradle 变量来发布到 artifactory 中的正确文件夹。过去,人工插件会为我处理一些事情。如何实现?
对于单个 gradle 项目,我使用如下内容:
node('master')
{
def version = 1.0
def gitUrl = 'some.git'
def projectRoot = ""
def group = "dashboard/frontend/"
def artifactName = "dashboard_ui"
def artifactRepo = "ext-release-local"
stage "git"
git branch: 'develop', poll: true, url: "${gitUrl}"
dir(projectRoot)
{
sh 'chmod +x gradlew'
stage "test"
sh './gradlew clean test'
stage "build"
sh './gradlew build createPom'
stage "artifact"
def server = Artifactory.server('artifactory_dev01')
def uploadSpec = """{
"files": [
{
"pattern": "build/**.jar",
"target": "${artifactRepo}/$group/${artifactName}/${version}/${artifactName}-${version}.jar"
},
{
"pattern": "pom.xml",
"target": "${artifactRepo}/$group/${artifactName}/${version}/${artifactName}.pom"
}
]
}"""
def buildInfo1 = server.upload spec: uploadSpec
server.publishBuildInfo buildInfo1
}
}
【问题讨论】:
-
你好,你可以做一个shell脚本来获取gradle版本./gradlew -version,你需要解析响应字符串来得到你需要的版本。
标签: jenkins gradle groovy jenkins-pipeline