我试图在脚本管道中转换我的自由式作业,我使用gradle进行构建和工件来解决我的依赖并发布工件。
当我配置调用gradle脚本时,我的构建参数化了3个params和freestyle作业我有复选框将所有作业参数作为系统属性传递给我 project.gradle文件我使用带有System.getProperty()命令的参数。
现在实现我的管道我定义了作业参数,我在Jenkins文件中有这些像enviromnent变量但是我可以将这个参数传递给gradle任务吗?
按照管道中使用Artifactory-Gradle插件的官方教程,我使用以下命令运行构建:
buildinfo = rtGradle.run rootDir: "workspace/project/", buildFile: 'project.gradle', tasks: "cleanJunitPlatformTest build"
我可以将params传递给Gradle构建并在我的.gradle文件中使用吗?
感谢' S
答案 0 :(得分:0)
是的,你可以。如果使用sh'''然后切换到sh"""获得扩展值
Jenkinsfile
#!/usr/bin/env groovy
pipeline {
agent any
parameters {
string(name: 'firstParam', defaultValue: 'AAA', description: '')
string(name: 'secondParam', defaultValue: 'BBB', description: '')
string(name: 'thirdParam', defaultValue: 'CCC', description: '')
}
stages {
stage ('compile') {
steps {
sh """
gradle -PfirstParam=${params.firstParam} -PsecondParam=${params.secondParam} -PthirdParam=${params.thirdParam} clean build
sh """
}
}
}
}
并在build.gradle中,您可以将其作为
进行访问def firstParam = project.getProperty("firstParam")
与项目属性-P相比,您还可以将SystemProperty与-D前缀一起使用。在这种情况下,您可以将build.gradle中的值作为
获取def firstParam = System.getProperty("firstParam")